阅读笔记:TCP/IP详解卷1

第一章

分层:

OSI模型:应用层,表示层,会话层,传输层,网络层,链路层,物理层

网际网协议族:应用层,运输层,网络层,链路层

1、数据链路层:即网络接口层,包括网络接口卡及其设备驱动程序,ARP地址解析协议,RARP逆地址解析协议

2、网络层:包括IP协议,ICMP(Internet互联网控制报文协议),IGMP(Internet组管理协议)

3、运输层:TCP,UDP;

4、应用层:Telnet远程登录、FTP文件传输协议、SMTP简单邮件传输协议、SNMP简单网络管理协议

IP地址:

全部地址为0000 0000 0000 0000 0000 0000 0000 0000~1111 1111 1111 1111 1111 1111 1111 1111   000.000.000.000~255.255.255.255

A类地址占了1/2,B类1/4,C类1/8...D类...E类

A类: 0000 0000 0000 0000 0000 0000 0000 0000~0111 1111 1111 1111 1111 1111 1111 1111000.000.000.000~127.255.255.255

B类: 1000 0000 0000 0000 0000 0000 0000 0000~1011 1111 1111 1111 1111 1111 1111 1111128.000.000.000~191.255.255.255

C类: 1100 0000 0000 0000 0000 0000 0000 0000~1101 1111 1111 1111 1111 1111 1111 1111192.000.000.000~223.255.255.255

D类: 1110 0000 0000 0000 0000 0000 0000 0000~1110 1111 1111 1111 1111 1111 1111 1111224.000.000.000~239.255.255.255

E类: 1111 0000 0000 0000 0000 0000 0000 0000~为将来使用保留其中240.000.000.000~255.255.255.254为保留地址,255.255.255.255为广播地址

数据封装:

进程数据      
TCP首部         进程数据
IP首部     TCP首部 进程数据
以太网首部 IP首部 TCP首部 进程数据 以太网尾部

TCP首部:发送时使用16bit端口号表示不同的应用程序,把源端口号和目的端口号分别存入TCP首部,接收时根据端口号将数据分发给不同的应用进程

IP首部:使用8bit的协议域来标记数据来自TCP、UDP、ICMP IGMP的哪一个,接收时根据协议域进行分用

以太网首部:16bit的帧类型域,指明数据的网络层协议(ARP,IP,RARP)


第二章

链路层:

1、为IP模块发送和接收IP数据包

2、为ARP RARP发送请求及接收应答


以太网首部:

RFC894(以太网封装格式):

目的地址(6字节)+源地址(6)+类型(2)+数据(46~1500)+CRC(4) 

地址是硬件地址,类型表示IP、ARP、RARP数据 

CRC为循环冗余码检验和

RFC1042(IEEE 802.2 802.3)

目的地址+源地址+长度+802.2LLC(3)+802.3 SNAP(5)+数据(38+1492)+CRC(4)

SNAP:后续子网接入协议,orgcode(3)+类型(2)


环回接口:127.0.0.1,同一台主机上的客户端与服务器进行通信

1、发送到环回接口的数据均作为IP输入

2、传给广播地址或者多播地址的数据报均复制一份传给环回接口


路径MTU:两台主机通讯时,可能要通过多个网络,每个网络可能有不同的MTU,最小的MTU即路径MTU。路径MTU不是一个常数,取决于当时所选择的路由,而且选路不一定对称,路由A到路由B   路由B到路由A 可能不同。


第三章 IP网际协议

ip协议是不可靠、无连接的,可靠性由上层提供

IP首部:(IPv4)

0~3bit:版本
4~7:4位首部长度,指32bit字的数目,因此IP首部的最大长度为60字节
8~15:服务类型(TOS)
16~31:16位总长度,指字节数,一个IP数据报最大长度,65535字节
32~47:16位标识符,唯一标识主机发送的每一份数据报,通常每发送一份数据报由IP层+1
48~63:3位标志+13位片偏移
64~71:生存时间,设置了数据报可以经过的最多路由器
72~79:协议,表示数据来自TCP UDP ARP RARP
80~95:首部检验和,对首部中每16bit进行二进制反码求和
96~127:32位源IP地址
127~159:32位目的IP地址
选项:可变长的可选信息

IP路由选择:

IP层在内存中有一张路由表,当收到一份数据报并发送时,都要对该表搜索一次
1、检查目的IP地址是否为本机IP地址之一或者为IP广播地址,如果是,则发送至首部中协议字段指定的协议模块
2、如果IP层被设置为路由功能,对数据报进行转发
3、丢弃

路由表:
1、目的IP地址
完整的主机地址:非0的主机号
网络地址:主机号为0
2、下一跳路由器的IP地址:一个直接相连网络上的路由器
3、标志:
指明目的IP地址是主机地址还是网络地址
指明下一跳路由器地址是真正的路由器还是直接相连的接口
4、为数据报的传输指定一个网络接口

ip路由选择
1、搜索路由表,寻找能与目的地址完全匹配的表目
2、寻找能与目的网络地址匹配的表目
3、寻找默认表目,将报文发送到默认表目指定的下一跳路由器

ip数据报的每次转发,目的IP地址不变,链路层首部中包含的目的地址(以太网地址)由路由器通过ARP协议获得,是下一跳路由器的物理地址


第四章 ARP  地址解析协议

1、源端主机广播ARP请求到以太网上的每台主机,ARP请求的以太网目的地址为全1
2、主机收到ARP请求后,识别请求中的目的IP地址,如果是本机IP,则发送ARP应答
3、ARP代理:如果ARP请求是发送到另一个网络上的主机,那么连接这两个网络的路由器就会回答该请求,发送ARP应答

ARP高速缓存:

arp运行高效的关键在于每个主机上都有一个ARP高速缓存,存放最近Internet地址到硬件地址之间的映射记录,可使用arp -a 指令显示高速缓存中所有的内容
以太网地址:48bit,用冒号隔开的6个十六进制数

ARP的分组格式:

以太网目的地址 以太网源地址 帧类型 硬件地址 协议类型 硬件地址长度 协议地址长度 op 发送端硬件地址 发送端IP地址 目的硬件地址 目的IP地址

arp请求:
1、以太网目的地址为全1,表示广播
2、以太网源地址为本机的以太网地址
3、帧类型 :1、2、3条加一起为链路层首部(不包括CRC),帧类型表示后面的数据类型,对于ARP请求来说,值为0X0806
4、硬件类型:值为1,表示以太网地址
5、协议类型:0x0800表示IP协议
6、硬件地址长度:ARP为6
7、协议地址长度:IP地址的长度,为4字节
8、op,操作字段:为1表示ARP请求,为2表示ARP应答,RARP的请求和应答对应3和4
arp应答:
1、以太网目的地址:ARP请求中的源地址
2、以太网源地址:本机以太网地址
3、op:2
4、发送端硬件地址和发送端IP地址:本机地址
5、目的硬件地址和目的IP地址:ARP请求中的源地址

免费ARP:
主机发送ARP查找自己的IP地址
1、主机可以通过查找自己的IP来确定是否有其他主机设置了相同的IP地址
2、主机接收到ARP请求,而且对端已经在主机的ARP高速缓存中,那么就要更新高速缓存中的发送端硬件地址
主机接收到任何ARP请求都会进行这一操作,而ARP请求是广播的,因此发送免费ARP可以使其他主机高速缓存中的旧的硬件地址进行更新

第五章 RARP 逆地址解析协议


你可能感兴趣的:(TCP/IP)