课程回顾:

两台主机如何进行通讯常见网络设备OSI7层模型封装与解封装



1.TCP/IP模型:网路层协议:

应用层: 用层协议:telnet(23),ssh(22)

TELNET:远程链接协议(http)FTP:上传下载协议(smtp)TFTP: 简单文件协议(无密码)(nfs)SNMP:简单网络管理协议(如:dhcp)DHCP:动态主机分配协议





DHCP协议原理过程:

应用层    主机要主机层    因特网层    网络接入层应用层协议:>01.客户端主机发出广播信息,请求获取IP地址>02.服务端从地址池里取出一个IP地址分配给客户端(192.168.1.1-192.168.1.250)>03.客户端返回确认信息。>04.服务端从地址池把已经分配的地址从地址池中删除,避免被他人使用>05.客户端可以在一定时间内使用分配的地址





TCP/UDP 协议(传输控制协议):

主机层协议:TCP: 文件传输控制协议    属于面向连接的网络协议-----在线传输文件,可靠文件传输,传输效率低UDP: 用户报文协议    属于无连接的网络协议----离线传输协议,效率高,传输数据不可靠





TCP/UDP协议对比:

传输控制协议(TCP)用户数据协议(UDP)
面向连接
无连接
可靠传输不可靠传输
流量控制尽力而为,尽力传递
使用TCP应用:
web浏览器,电子邮件
UDP应用:
域名系统(DNS);视屏流; IP语音(VoIP)





UDP随机端口配置:





控制字段ACK/SYN

ACK表示控制字段,确认数据是否接收,控制字段1为有效,为0表示失效
 SYN表示请求建立连接字段 ,控制字段1为有效,为0表示失效
 FIN表示断开连接,控制字段1为有效,为0表示失效

TCP三次握手原理图


主动:  SYN请求建立连接,syn=1 seq=100
被动方:   ACK发出确认号,ack=100,syn=1,ACK=101
SYN确认ack1:ack=101syn=1,seq=101
被动方:确认
SYN确认ack1: syn=1,seq=102
ACK确认号,ack=102,syn=1,ACK=101
确认ack-1确认seq=102

TCP/四次挥手

tcpdump 命令

tcpdump -i eth0 -nn -X -c 5 "port 53"     ##抓取53端口的包tcpdump -i eth0 -nn -X -c 5 "port 53" -w /tmp/oldboy.pkg    ##保存到文件-n :     转换域名转为IP-X :     输出包的头部数据,会以16进制和ASCII两种方式同时输出-XX:    输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。



显示TCP 11 种 状态集 (参考:https://blog.csdn.net/bestone0213/article/details/44872529)

服务器启动时创建了一个 soket条目 对应了:客户端tcp IP地址    网关:随机端口    源协议:    源IP地址    源端口号    目标地址:    目标端口tcp        10.0.0.1 0   :22        10.0.0.1    :  22



11种状态集图片解释:


11种状态: 任何状态都不能出现过多,否则会影响网络链接

四次挥手过程为什么不能变为三次?


TCP11种状态集的转换

网络报文结构:

Source Port Number
(16 bits)  利用随机端口号
Destination Port Number
(16 bits)  80 22 23
0123
Sequence Number(重点)
(32 bits)
4567
Acknowledgement Number(重点)
(32 bits)
891011
Header Length
(4 bits)
Reserved
(6 bits)
URGACKPSHRSTSYNFINWindows Size
(16 bits)
12131415
TCP Checksum
(16 bits)
Urgent Pointer
(16 bits)
16171819
Options
(if any,variable length,padded with 0's)
20212223
Data
(if any)
    
012345678910111213141516171819202122232425262728293031

©著作权归作者所有:来自51CTO博客作者妙手折花的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 如何设置 Centos7 为固定ip地址(详细教程)
  2. eNSP:实现不同网段主机之间的通信(静态路由)
  3. eNSP:实现不同网段主机之间的通信(直连路由)
  4. 爬虫教程(爬取斗图网)---详解
  5. 18000-3 Mode3协议高频远距离读写器
  6. C语言判断大端小端
  7. makefile使用.lds链接脚本以及 常用命令 解析
  8. jira如何部署
  9. macvlan Multus-CNI在OpenShift上的使用

随机推荐

  1. 【麦子学院】03.web前端开发之html5本地
  2. HTML的CHECKBOX后面的文字点击同时选中
  3. 限制HTML输入,只允许粘贴
  4. 调整另一个div的div onclick,过渡效果
  5. 如何在HTML主体上设置网格ExtJS,高度为100
  6. 2003生成 注释web页问题,第二级的html 内
  7. 制作一个可滚动的div,它不会滚动身体的其
  8. 使用换行符将textarea的文本复制到div中
  9. js去除html标记的测试问题。很多分!
  10. 关于INPUT的autocomplete="off" 属性(浏览