精华内容
下载资源
问答
  • TCP/IP层次安全性

    千次阅读 2019-09-25 14:22:53
    TCP/IP的安全性可分为多层,各安全是一包含多个特征实体。在不同层次,可增加不同安全策略和措施。如在传输提供安全套接服务SSL和其继任者传输安全TLS,是为网络通信提供安全及数据完整性的一种安全协议,在...

    TCP/IP层次安全性

    TCP/IP的安全性可分为多层,各安全层是一包含多个特征实体。在不同层次,可增加不同安全策略和措施。如在传输层提供安全套接层服务SSL和其继任者传输层安全TLS,是为网络通信提供安全及数据完整性的一种安全协议,在网络层提供虚拟专用网VPN技术等。TCP/IP网络安全技术层次体系如图所示。
    在这里插入图片描述

    TCP/IP物理层的安全性

    TCP/IP模型的网络接口层对应着OSI模型的物理层和数据链路层。物理层安全问题是指由网络环境及物理特性产生的网络设施和线路安全性,致使网络系统出现安全风险,如设备问题、意外故障、信息探测与窃听等。由于以太网上存在交换设备并采用广播方式,可能在某个广播域中侦听、窃取并分析信息。为此,保护链路上的设施安全极为重要,物理层的安全措施相对较少,最好采用“隔离技术”将每两个网络保证在逻辑上能够连通,同时从物理上隔断,并加强实体安全管理与维护。

    TCP/IP网络层的安全性

    网络层的主要功能主要用于数据包的网络传输,其中IP协议是整个TCP/IP协议体系结构的重要基础,TCP/IP中所有协议的数据都以IP数据包形式进行传输。

    TCP/IP协议族常用的两种IP版本是IPv4和IPv6。IPv4在设计之初根本没有考虑到网络安全问题,IP包本身不具有任何安全特性,从而导致在网络上传输的数据包很容易泄漏或受到攻击,IP欺骗和ICMP攻击都是针对IP层的攻击手段。如伪造IP包地址、拦截、窃取、篡改、重播等。因此,通信双方无法保证收到IP数据包的真实性。IPv6简化了IPv4中的IP头结构,并增加了对安全性的设计。

    TCP/IP传输层的安全性

    TCP/IP传输层主要包括传输控制协议TCP和用户数据报协议UDP,其安全措施主要取决于具体的协议.传输层的安全主要包括:传输与控制安全、数据交换与认证安全、数据保密性与完整性等.TCP是一面向连接协议,用于多数互联网服务:HTTP、FTP和SMTP.为了保证传输层的安全设计了安全套接层协议SSL(Secure Socket Layer),现更名传输层协议TLS(Transport Layer Security),主要包括SSL握手协议和记录协议。

    SSL协议用于数据认证和数据加密的过程,利用多种有效密钥交换算法和机制。SSL记录协议对应用程序提供的信息分段、压缩、认证和加密.此协议提供了身份验证、完整性检验和保密性服务,密钥管理的安全服务可为各种传输协议重复使用。

    TCP/IP应用层的安全性

    网络安全性问题主要重点解决的常用应用系统(协议),包括HTTP、FTP、SMTP、DNS、Telnet等。
    (1) 超文本传输协议(HTTP)安全
    HTTP是互联网上应用最广泛的协议。使用80端口建立连接,进行浏览、数据传输和对外服务.其客户端使用浏览器访问并接受从服务器返回的Web网页.下载破坏性的控件或插件,在用户的终端上运行并含有恶意代码、病毒或特洛伊木马,注意不下载未经过检验的程序。

    (2) 文件传输协议(FTP)安全
    FTP是建立在TCP/IP连接上的文件发送与接受协议。由服务器和客户端组成,每个TCP/IP主机都有内置的FTP客户端,且多数服务器都有FTP程序。FTP通常使用20和21两个端口,由21端口建立连接,使连接端口在整个FTP会话中保持开放,用于在客户端和服务器之间发送控制信息和客户端命令.在FTP主动模式下,常用20端口数据传输,在客户端和服务器之间每传输一个文件都要建立一个数据连接。

    (3) 简单邮件传输协议(SMTP)安全
    不法分子可以利用SMTP对E-mail服务器进行干扰和破坏。如通过SMTP对E-mail服务器发送大量的垃圾邮件和聚集数据包,致使服务器不能正常处理合法用户的使用请求,导致拒绝服务。目前,绝大部分的计算机病毒基本都是通过邮件或其附件进行传播的。因此,SMTP服务器应增加过滤、扫描及设置拒绝指定邮件等功能。

    (4) 域名系统(DNS)安全
    网络通过DNS在解析域名请求时使用其53端口。黑客可以进行区域传输或利用攻击DNS服务器窃取区域文件,并从中窃取区域中所有系统的IP地址和主机名。可采用防火墙保护DNS服务器并阻止各种区域传输,还可通过配置系统限制接受特定主机的区域传输。

    (5) 远程登录协议(Telnet)安全
    Telnet的功能是进行远程终端登录访问,曾用于管理UNIX设备。允许远程用户登录是产生Telnet安全问题的主要问题,另外,Telnet以明文方式发送所有用户名和密码,给非法者以可乘之机,只要利用一个Telnet会话即可远程作案,现已成为防范重点。

    展开全文
  • setsockopt() IP层的设置 IPPROTO_IP

    千次阅读 2019-01-22 11:46:43
    网上搜索setsockopt()用法几乎都是SOL_SOCKET的设置,这里总结一下IPPROTO_IP层的设置。 可取值 setsockopt getsockopt IP_MULTICAST_LOOP 支持 支持 IP_MULTICAST_TTL 支持 支持 IP_MULTICAS...

    网上搜索setsockopt()用法几乎都是SOL_SOCKET的设置,这里总结一下IPPROTO_IP层的设置。

    可取值                         setsockopt     getsockopt
    IP_MULTICAST_LOOP     支持          支持
    IP_MULTICAST_TTL        支持          支持
    IP_MULTICAST_IF          支持          支持
    IP_ADD_MEMBERSHIP     支持          不支持
    IP_DROP_MEMBERSHIP   支持          不支持

    1.         IP_MULTICAST_LOOP
    当接收者加入到一个多播组以后,再向这个多播组发送数据,这个字段的设置是否允许再返回到本身。

    int loop=1;    //1:on  0:off
    setsockopt(sock,IPPROTO_IP,IP_MULTICAST_LOOP,&loop,sizeof(loop));

    2.         IP_MULTICAST_TTL
    默认情况下,多播报文的TTL被设置成了1,也就是说到这个报文在网络传送的时候,它只能在自己所在的网络传送,当要向外发送的时候,路由器把TTL减1以后变成了0,这个报文就已经被Discard了。例:

        char ttl;
        ttl = 2;
        setsockopt(s, IPPROTO_IP, IP_MULTICAST_TTL, (char*)ttl, sizeof(ttl));

    3.         IP_MULTICAST_IF
    发送多播报文时用的本地接口,默认情况下被设置成了本地接口的第一个地址。
           未完

    4.         IP_ADD_MEMBERSHIP
    这个option和下面的option是实现多播必不可少的,它用于加入一个多播组,例:
       

    struct ip_mreq ipmr;
    ipmr.imr_interface.s_addr = htonl(INADDR_ANY);
    ipmr.imr_multiaddr.s_addr = inet_addr("234.5.6.7");
    setsockopt(s, IPPROTO_IP, IP_ADDR_MEMBERSHIP, (char*)&ipmr, sizeof(ipmr));



    5.         IP_DROP_MEMBERSHIP
    用于离开一个多播组,使用方法同IP_ADDR_MEMBERSHIP。

    struct ip_mreq ipmr;
    int   len;
    setsockopt(s, IPPROTO_IP, IP_DROP_MEMBERSHIP, (char*)&ipmr, &len);

     

    展开全文
  • IP层转发分组的流程

    千次阅读 2017-02-06 22:12:39
    IP层转发分组的流程 1. 根据目的网络地址来确定下一跳路由器,这样做的结果如下: 1.1 IP数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。 1.2 只有到达最后一个路由器时,才...

    IP层转发分组的流程

    1. 根据目的网络地址来确定下一跳路由器,这样做的结果如下:

    1.1 IP数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。

    1.2 只有到达最后一个路由器时,才试图向目的主机进行直接交付。

    注:在互联网上转发分组时,是从一个路由器转发到下一个路由器。总之,在路由表中,对每一条路由最主要的是以下两个信息:(目的网络地址,下一跳地址)。

    2. 特定主机路由

    • 虽然因特网所有的分组转发都是基于目的主机所在的网络,但在大多数情况下都允许有这样的特例,即对特定的目的主机指明的一个路由。,这种路由叫做特定主机路由。
    • 采用特定主机路由的好处:
      (1)可使网络管理人员能够更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。
      (2)在对网络的连接或路由表进行排错时,指明到某一主机的特定路由就十分有用。

    注:特定主机路由是要到某一台机器的路由。特定网络路由是你到某一个子网的路由。特定主机路由也可视为特定网络路由的一个特例,即Mask为255.255.255.255的特定网络路由。

    3. 默认路由

    • 默认路由是一种特殊的静态路由,指的是当路由表中与包的目的地址之间没有匹配的表项时路由器能够做出的选择。
    • 如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃。
    • 默认路由在某些时候非常有效,当存在末梢网络时,默认路由会大大简化路由器的配置,减轻管理员的工作负担,提高网络性能。
    • 主机里的默认路由通常被称作默认网关,默认网关通常会是一个有过滤功能的设备,如防火墙和代理服务器。
    • 默认路由和静态路由的命令格式一样,只是把目的地ip和子网掩码改成0.0.0.0和0.0.0.0,默认路由只能存在末梢网络中。

    4. 分组转发算法

    注:当发送一连串的数据报时,上述的这种查找路由表、计算硬件地址、写入MAC帧的首部等过程,将不断地重复进行,造成了一定的开销。尽管如此,也不能在路由表中直接使用硬件地址,因为使用抽象的IP地址,就是为了屏蔽各种底层网络的复杂性而便于分析和研究问题,这样就不可避免地多了一些开销。
    - (1)从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
    - (2)若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付给目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就要执行(3)进行间接交付。
    - (3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(4)。
    - (4)若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(5)。
    - (5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的下一跳路由器,否则执行(6)。
    - (6)报告转发分组出错。


    参考文献:
    [1]《计算机网络(第5版)》谢希仁——第四章 4.2
    [2] 百度搜索关键字:特定主机路由、默认路由、分组转发算法

    展开全文
  • IP层本地报文发送有两个函数ip_local_out和ip_local_out_sk,实际实现两者是等同的,因为本地发送的报文,skb必然关联着一个sock对象。 1、ip_local_out函数 static inline int ip_local_out(struct sk_buff *skb)...

    IP层本地报文发送有两个函数ip_local_out和ip_local_out_sk,实际实现两者是等同的,因为本地发送的报文,skb必然关联着一个sock对象。

    1、ip_local_out函数

    static inline int ip_local_out(struct sk_buff *skb)
    {
    	return ip_local_out_sk(skb->sk, skb);	//本地报文发送,本地发送的报文都关联着一个sock对象
    }
    2、ip_local_out_sk函数

    int ip_local_out_sk(struct sock *sk, struct sk_buff *skb)	//本地报文发送,本地发送的报文都关联着一个sock对象
    {
    	int err;
    
    	err = __ip_local_out(skb);		//报文安全检测(netfilter)
    	if (likely(err == 1))			//返回值为1,说明netfilter允许报文通过
    		err = dst_output_sk(sk, skb);	//最终会调用ip_output函数
    
    	return err;
    }
    3、__ip_local_out函数

    int __ip_local_out(struct sk_buff *skb)
    {
    	return __ip_local_out_sk(skb->sk, skb);
    }
    4、__ip_local_out_sk函数

    int __ip_local_out_sk(struct sock *sk, struct sk_buff *skb)
    {
    	struct iphdr *iph = ip_hdr(skb);
    
    	iph->tot_len = htons(skb->len);
    	ip_send_check(iph);		//计算IP层csum值
    	return nf_hook(NFPROTO_IPV4, NF_INET_LOCAL_OUT, sk, skb, NULL,	//调用netfilter,返回值为1说明允许报文通过,由调用者负责下一步的处理
    		       skb_dst(skb)->dev, dst_output_sk);
    }
    5、dst_output_sk函数

    /* Output packet to network from transport.  */
    static inline int dst_output_sk(struct sock *sk, struct sk_buff *skb)
    {
    	return skb_dst(skb)->output(sk, skb);	//实际调用ip_output函数
    }
    ip_local_out函数,主要实现了如下功能:设置IP头中报文长度信息和csum值; netfilter NF_INET_LOCAL_OUT点的处理。 最后调用ip_outputt函数,进入报文发送的下一个阶段。

    展开全文
  • 本文将介绍网络连接建立的过程、收发包流程,以及其中应用层、tcp层、ip层、设备层和驱动层各层发挥的作用。
  • IP层分包

    千次阅读 2013-04-07 11:20:12
    1.在数据链路有个MTU(Maximum Transmission Unit, 它由硬件规定,例如以太网是1500,大多数的链路的MTU都大等于1500),这个值限定了链路一个帧的大小,使得一个IP数据报(包括包头)的大小不能超过MTU(IP数据...
  • 网络 网络的作用是在复杂的网络环境中为要发送的数据报找到一个合适的路径进行传输。 网络向上提供简单灵活,无连接的,尽最大努力交付的数据报服务。从数据报从主机A发送到主机B的过程中可能要经历很多节点...
  • TCP/IP 层次

    千次阅读 2017-12-10 18:17:27
    TCP/IP协议族是一个四协议系统,自底而上是数据链路、网络、传输和应用。上层协议使用下层协议提供的辅助。 1.数据链路实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。不同的物理网络...
  • 没有IP地址的主机如何保持IP层联通

    万次阅读 2017-04-08 23:24:08
    两台机器,M1和M2,各自有一个网卡eth0,配置如下:M1的配置:eth0上不配置任何IP地址。M2的配置:eth0上不配置任何IP地址。....爆炸,机器上都没有IP地址,通个毛线球啊!! 我只是想在7年后进一步阐述一个常识,...
  • lwip中ip层的实现浅析

    千次阅读 2013-10-02 22:30:21
    LwIP 仅实现了 IP 大部分的基本功能,能够发送、接收以及转发信息包,但是不能接 收和发送 IP 分片包,也不能处理携带 IP 参数选项的信息包。不过对大多数的应用来说,这 不会引起任何问题。
  • linux netfilter IP层的HOOK点

    千次阅读 2013-04-09 16:15:25
    netfilter的架构就是,在网络协议栈上放置一些检测点(HOOK),而在检测点放置...ipv4在IP层的HOOK点有5个: enum nf_inet_hooks { NF_INET_PRE_ROUTING, NF_INET_LOCAL_IN, NF_INET_FORWARD, NF_INET_LOCAL_OUT, NF
  • TCP/IP--IP层转发分组的流程

    千次阅读 2017-09-26 16:16:39
    接着上一篇,这篇继续网际协议IP的内容,在了解了IP协议的基础上,继续学习IP路由选择。 先看张图,主机甲与主机乙分别在两个不同的网段上,中间通过路由器进行连接。现在假设主机甲要跟主机乙进行通信,那么...
  • TCP/IP层次:各功能:各协议

    千次阅读 2017-10-27 11:00:18
  • 本文主要讲解了Linux内核IP层的整体架构和对从网卡接受的报文处理流程,使用的内核的版本是2.6.32.27 为了方便理解,本文采用整体流程图加伪代码的方式对Linxu内核中IP整体实现架构和对网卡报文的处理流程进行了...
  • Linux内核之IP层转发框架

    千次阅读 2021-04-16 22:28:28
  • Linux2.4.0IP层转发(ip_forward)流程

    千次阅读 2005-04-23 17:24:00
    Linux2.4.0IP层转发流程 Email:getmoon@163.com QQ:505333 欲攬明月 下载地址:http://linuxsouce.home.sohu.com/download/ipforward.zip 其他文档下载:http://linuxsouce.home.sohu.com/download/index.html /*...
  • NAT会修改数据包的ip层的源或者目的ip地址。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。 1.1 SNAT 源目的地址转换,即对ip数据包的源ip地址进行转换操作,典型的应用即是网关,网关的lan侧会...
  • 首先说明:数据报的分段和分片确实发生,分段发生在传输,分片发生在网络。但是对于分段来说,这是经常发生在UDP传输协议上的情况,对于传输使用TCP协议的通道来说,这种事情很少发生。 1,MTU(Maximum ...
  • 因为网络层是“尽最大努力完整的传输数据包”,差错检测已由数据链路层实现,IP层没必要再进行一次校验。 优点就是:因为不负责差错检测和纠错,所以可获得较高的传输性能。 缺点就是:因为IP层不负责差错检测,那么...
  • 本节主要是分析NAT模块相关的hook函数与...NAT模块主要是在NF_IP_PREROUTING、NF_IP_POSTROUTING、NF_IP_LOCAL_OUT、NF_IP_LOCAL_IN四个节点上进行NAT操作,在上一节中我们知道nat表中只有PREROUTING、POSTROUTING、LOC
  • 首先,跟本子网内的子网掩码:255.255.255.128与目标主机H2的IP地址:128.30.33.128 相与得到网络号 :128.30.33.128。显然这与子网1的网络号:128.30.33.0不匹配。 然后,数据报交由子网1的默认路由R1,由其转发...
  • 在前面的文章中, 我们已经了解到, 数据链路层对上层IP包的长度是有限制的, 以典型的以太网为例, 这个限制值即为MTU(最大值是1500字节), 为此, IP层对上层网络层的数据也有限制, 这个限制值是MSS(最大值为1460...
  • 上一节分析了hook机制,本节简单介绍下三防火墙借助hook机制,实现的总体框架   1 三netfilter hook点的注册与注销 我们知道使用iptables,添加规则时需要指定表,在iptables中有filter、nat、mangle三...
  • 根据数据包的源ip地址、目的ip地址、源端口、目的端口、协议号来确定一条连接。   因为连接跟踪支持TCP、UDP、ICMP等协议,而不同的协议,其处理上会有一些不同,因此增加了协议相关的连接跟踪结构,即nf_conntr
  • TCP/IP模型

    万次阅读 多人点赞 2018-09-30 16:06:58
    文章目录TCP/IP协议族体系结构以及主要协议数据链路网络传输应用 TCP/IP协议族体系结构以及主要协议 TCP/IP协议族是一个四协议系统,自底而上分别是数据链路、网络、传输和应用。每一完成不同 ...
  • TCP/IP与OSI七网络模型

    千次阅读 2016-07-29 17:07:44
    简介本文主要描述了网络分层模型, 分为TCP/IP网络模型与OSI七网络模型说明。
  • TCP/IP模型各主要协议详述

    万次阅读 多人点赞 2019-08-02 00:46:00
    1、一张表理清 OSI七和TCP/IP的关系 2、TCP/IP模型 (1)物理 物理规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性,确保原始的数据可在各种物理...
  • tcp/ip协议各个作用

    万次阅读 2014-07-01 14:51:12
    数据链路层是负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。 传输有地址的帧以及错误检测功能 。  一、流量控制,有基于反馈的流控制盒基于速率的流控制。  二、错误检测...
  • TCP/IP协议族 详解(TCP/IP模型、OSI七模型)

    千次阅读 多人点赞 2018-04-12 21:53:09
    TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。由于在网络通讯协议普遍采用分层的结构,当多个层次的协议共同工作时,类似计算机科学中的堆栈,因此又被称为TCP/IP协议栈(英语:TCP/IP ...
  • 【TCP/IPIP地址分类和特殊IP地址

    万次阅读 多人点赞 2018-07-12 19:14:10
    IP地址是因特网技术中的一个非常重要的概念,IP地址在IP层实现了底层网络地址的统一,使因特网的网络层地址具有全局唯一性和一致性。IP地址含有位置信息,反映了主机的网络连接,使因特网进行寻址和路由选择的依据。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 594,960
精华内容 237,984
关键字:

ip层