Skip to content

Latest commit

 

History

History
87 lines (84 loc) · 5.57 KB

TCP-IP协议学习.md

File metadata and controls

87 lines (84 loc) · 5.57 KB

TCP/IP协议

组成

​ 链路层 -- 设备驱动程序及接口卡 -- 帧 ​ 网络层 -- IP/ICMP/IGMP -- 数据报 ​ 传输层 -- TCP/UDP -- 段 ​ 应用层 -- Telnet/Ftp/email/HTTP

功能:

​ 链路层:(数据链路层或网络接口层)操作系统中的设备驱动程序,计算机中对应的接口卡,一起处理与电缆或其他任何传输媒介的物理接口细节 ​ 网络层:(互联网层)处理分组在网络中的活动,例如分组的选路 ​ 传输层:主要为两台主机上的应用程序提供端到端的通信 ​ 应用层:处理特定的应用程序细节

分层

链路层:

​ 功能: ​ 1.为IP模块发送和接受IP数据 ​ 2.为ARP模块发送ARP请求和ARP应答 ​ 3.为RARP发送RARP请求和

[]:

接收RARP应答 包括: 链路层:tcp/ip支持多种不同的链路层协议,这取决于网络所使用的硬件: 以太网: MTU最大传输单元:对数据帧的长度有限制 路径MTU:两台通信主机路径中最小MTU 令牌环网; FDDI; RS-232串行线路

传输层:IP/ICMP/IGMP

IP:

​ 定义相关: ​ 网际协议,TCP/IP协议族中的最为核心的协议。所有的TCP/UDP/ICMP/IGMP数据报都以IP数据包格式传输 ​ IP提供无连接的:IP不维护任何关于后续数据报的状态信息,每个数据包都是独立的,所以导致IP数据报可以不按发送顺序接收 ​ 不可靠:不能保证IP数据报能成功的到达目的地,IP仅提供一个尽力而为的传输服务 ​ 的数据报传送服务。 ​ IP网络使用32位地址,以点分十进制表示。格式为:IP地址=网络ID+主机ID,或IP地址=网络ID+子网ID+主机ID ​ 同一个物理网络上的主机公用一个网络ID,网络上的每个主机都有与之对应的主机ID, ​ IP地址根据网络ID的不同划分为五种类型: ​ -A类IP地址:1.0.0.0 — 126.0.0.0 即:可用的A类网络有126个,每个网络上可以容纳1亿多个主机 ​ -B类IP地址:128.0.0 — 191.255.255.255 即:可用的B类网络有16382个,每个网络可以容纳6万多个主机 ​ -C类IP地址:192.0.0 — 223.255.255.255 即:C类网络有209万余个,每个网络可以容纳254个主机 ​ -D类IP地址:D类用于多点广播(Multicast)以III0开始,属于保留IP,不指向特定网络,用来寻址一组共享同一协议的计算机 ​ -E类IP地址:为将来使用保留,以IIII0开始 ​ 全零地址(0.0.0.0)对应当前主机 全一地址(255.255.255.255)对应当前子网的广播地址 ​ IP首部: ​ 4位版本号 4位首部长度 8位服务类型 16位总长度 ​ 16位标识 3位标志 13位片偏移 ​ 8位生存时间(TTL) 8位协议 16位首部检验和 ​ 32位源IP地址 ​ 32位目的IP地址 ​ 选项(如果有) ​ 数据 ​ IP路由选择: ​ 如果两台主机直接相连或在同一个共享网络上,那么IP数据包直接发送到目的主机上即没有路由选择问题 ​ 否则,主机将数据发送到一默认路由器上,由路由器来转发该数据 ​ IP层在内存中维护一个路由表:当接收到一份数据报时,它都要对该表进行一次搜索,当数据报来自某个网络接口时, ​ IP首先检查目的IP地址是否为本机的IP地址之一或者IP广播地址, ​ 如果是,数据报将被送到IP首部协议字段所制定的协议模块进行处理 ​ 如果不是那么(1)如果IP层被设置为路由器功能,则对数据报进行转发(2)丢弃 ​ 路由表中的每一项都应包含下面这些信息: - 目的IP地址 - 下一站路由器的IP地址 - 标志 - 为数据报的传输指定一个网络接口 IP路由选择是逐跳进行的,主要完成以下功能: - 搜索路由表,寻找与目的IP地址完全匹配的表目,找到则转发至该地址 - 搜索路由表,寻找能与目的网络号相匹配的标目,找到则转发至该地址(需考虑子网掩码) - 搜索路由器,寻找标为默认(default)的标目,找到则转发至该地址 子网: 由于A,B类地址给主机号分配了过多的空间,而往往一个网络内没有那么多的用户,因此,将大量的主机号又分成子网和主机的组合即 现在不是把IP地址看成单纯的网络号+主机号,而是把主机号再分成子网号和主机号即:IP地址=网络号+子网号+主机号 子网划分减小了路由表的规模 子网掩码:因为子网和主机号是人为后期分的,因此需要告知主机网络号使用多少比特,子网号多少比特。主机号多少比特这就是子网掩码的作用;子网掩码多由十六进制来标识,将其化为二进制后,尾部0的位数即为主机号 例如:0xfffffff0 -> 255.255.255.192 -> 1111 1111 1111 1111 1111 1111 1100 0000 即主机号为后6位

	给定IP地址和子网掩码后,主机就可以确定IP数据报的目的:
		(1)本子网上的主机;
		(2)本网络中的其他子网中的主机;
		(3)其他网络上的主机
	根据本机IP地址的高位可知道网络号和子网号的分界线;
	再根据子网掩码即可知道子网号和主机号的分界线
ifconfig:linux中用于显示或配置网络设备(网络接口卡)的命令
netstat: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告

ARP和RARP协议

ARP地址解析协议:
RARP逆地址解析协议