协议tcpip网络协议族简单的入门自学手册

tcpip上的netbios  时间:2021-04-19  阅读:()

By韩大卫@吉林师范大学主要学习TCP/IP协议族中传输层,网络层,链路层的协议。

总体思想:

网络间的数据传输是在链路层间实现的,用户层的数据如果想进入链路层,要经过逐层封装,最后封装成以太网帧格式进行发送,这样将不同的数据都包装成以太网帧,实现了在不同网络的数据互联和通信。

例如:一个用户层数据data

经过传输层TCP协议data

经过网络层IP协议TCP协议data

链路层以太网祯首部IP协议TCP协议data CRC

以太网帧格式: 目的M AC地址(6字节源M AC地址(6字节帧类型(2字节data(46——1500CRC(4字节

常见帧类型:0800: IP协议

0806:ARP协议

IP报文格式:

4bit协议格式4bit首部长度8bit TOS16bitIP报文总长度

16bitIP报文标志16bit分片信息

8bitTTL8bit上层协议16bit检验和

32bit源IP地址

32bit目的IP地址

data

上层协议:06:TCP协议

01: ICMP协议

17:UDP协议

TCP段格式:

16bit源端口号16bit目的端口号

32bit序列号

32bit确认序号

4bitTCP首部长度6bit保留6bit标志位。 ACK。 。 SYN FIN16bit窗口大小16bit检验和16bit紧急指针

可选项data

UDP段格式:

16bit源端口号16bit目的端口号

16bitUDP长度16bit检验和data

TCP是面向连接的协议,UDP是面向不连接的协议。

TCP:提供可靠的,有连接的传输

UDP:提供不可靠的,无连接的传输

TCP是面向连接的协议,所以在双方通信前要建立连接,建立连接的过程分为三部,简称三次握手:第一次:A发送SYN,1000(0,mss<1460>

第二次:B发送SYN,8000(0,ACK 1001,mss<1024>

第三此:A发送ACK 8001

从TCP状态迁移图中得知,这个过程中客户端的状态变化是:

CLOSED---SYS_SENT---ESTABLISHED

服务器端:

CLOSED---LISTEN---SYS_RCVD---ESTABLISHED

实例:

IP 192.168.10.50.50258>123.125.1 15.43.80:Flags[S],seq 2916403917,win 14600,options[mss 1460,sackOK,TS val 1 163706 ecr 0,nop,wscale 4], length 00x0000:00223f1 1 74b2 ac81 1250 b01608004500."?.t. . . . . . . . . . . .P. . .E.

0x0010:003c 0b774000400675c2 c0a80a327b7d .<.w@.@.u. . .2{}

0x0020:732b c4520050 add4 cacd 00000000 a002 s+.R.P. . . . . . .//a01得2

知,SYN置位

0x0030:3908 b9b1 0000020405b40402080a 001 1 9. . . . . . . . . . . . .

0x0040:c1ba 0000000001030304 . . . . . . . .

本机向目的IP发送SYN

注:如看不懂tcpdump的输出结果,请看文档尾部的解释

10:54:29.692916 IP 123.125.1 15.43.80>192.168.10.50.50258: Flags[S.],seq3002973477,ack 2916403918,win 14600,options[mss

1452,sackOK,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop,nop], length00x0000:ac81 1250 b01600223f1 1 74b208004500. . .P. . ."?.t. . .E.

0x0010:003c 0b77400036067fc27b7d 732b c0a8.<.w@.6. . .{}s+. .

0x0020:0a320050 c452 b2fd bd25 add4 cace a012.2.P.R. . .%. . . .//a012 ACK,SYN0x0030:3908 ad100000020405ac 04020101 0101 9. . . . . . . . . . . . .

0x0040:0101 0101 0101 0101 0101 . . . . . . . . .

服务器向本机发送ACK,同时发送SYN

10:54:29.692963 IP 192.168.10.50.50258>123.125.1 15.43.80: Flags[.],ack 1,win14600, length 0

0x0000:00223f1 1 74b2 ac81 1250 b01608004500."?.t . .P. . .E.

0x0010:00280b784000400675d5 c0a80a327b7d .(.x@.@.u. . .2{}

0x0020:732b c4520050 add4 cace b2fd bd265010 s+.R.P. . . . .&P.//5010 A CK0x0030:3908 b99d 0000

本机向服务器发送AC K

至此,本机与服务器双方的连接就连立起来了。 关闭连接是分为四部,简称四次握手。

实例如下:

IP 192.168.10.50.39309>123.125.1 15.126.80: Flags[F.],seq 1094,ack 188,win15544, length 0

0x0000:00223f1 1 74b2 ac81 1250 b01608004500."?.t. . .P. . .E.

0x0010:0028 a99440004006 d765 c0a80a327b7d .(. .@.@. .e. . .2{}

0x0020:737e 998d 00502b7a e5e24eea 2fb6501 1 s~. . .P+z. .N./.P.

0x0030:3cb8 b9f00000<. . . .

通过501 1得知,ACK,FIN置位,本机发送了F IN请求

14:38:34.395871 IP 123.125.1 15.126.80>192.168.10.50.39309: Flags[.],ack 1095,win 7651, length 0

0x0000:ac81 1250 b01600223f 1 1 74b208004500. . .P. . ."?.t. . .E.

0x0010:0028 e97040003306 a4897b7d 737e c0a8.(.p@.3. . .{}s~. .

0x0020:0a320050998d 4eea 2fb62b7a e5e35010.2.P. .N./.+z. .P.

0x0030: 1de3 ae3f 0000. . .?. .

目标地址发送了5010,对本机的请求回复AC K确认。

14:38:34.396202 IP 123.125.1 15.126.80>192.168.10.50.39309: Flags[F.],seq 188,ack 1095,win 7651, length 0

0x0000:ac81 1250 b01600223f 1 1 74b208004500. . .P. . ."?.t. . .E.

0x0010:0028 e97240003306 a4877b7d 737e c0a8.(.r@.3. . .{}s~. .

0x0020:0a320050998d 4eea 2fb62b7a e5e3501 1 .2.P. .N./.+z. .P.

0x0030: 1de3 ae3e 0000. . .>. .

目标地址也发送了FIN请求。

14:38:34.396235 IP 192.168.10.50.39309>123.125.1 15.126.80: Flags[.],ack 189,win 15544, length 0

0x0000:00223f1 1 74b2 ac81 1250 b01608004500."?.t. . .P. . . .E.

0x0010:002800004000400680fa c0a80a327b7d .(. .@.@. . . .2{}

0x0020:737e 998d 00502b7a e5e34eea 2fb75010 s~. . .P+z. .N./.P.

0x0030:3cb88f690000

本机回应AC K,结束了双方的通信。

在TCP状态迁移图中,客户端的状态变化是:

ESTABLISHED---FIN_WAIT1----FIN_WAIT2---TIME_WAIT---CLOSED

服务器状态变化:

ESTABLISHED---CLOSE_WAIT---LAST_ACK---CLOSED

问题1:为什么建立连接时需要三次握手,关闭连接时需要四次?

从TCP状态迁移图中得知,当服务器是{CLOSE_WAIT}这个状态时,可能还有数据要传输,稍后再关闭,数据传输全部完成后发送FIN,进入{LAST_ACK}状态。

一个实例:

在ping 192.168.10.1时,如果arp中有没此地址的缓存表

那么需要发送ARP数据包在局域网内进行广播,寻找目的MAC地址,对于广播范围的控制,可使用VLAN技术。

ARP协议: I P地址和对应MAC地址映射协议。

ARP协议格式: 16bit硬件类型0x0001为MAC地址16bit协议类型0x0080为IP

协议

8bit硬件地址长度MAC为68bit协议长度IPv4为48bit操作码源硬件地址源IP地址目的硬件地址目的IP地址

#tcpdump-ni wlan0-XX

ARP,Request who-has 192.168.10.50 tel l 192.168.10.1, length 28

0x0000: ffff ffff ffff 00223f1 1 74b208060001 . . . . ."?.t //0806是ARP请求/应答

0x0010:080006040001 00223f1 1 74b2 c0a80a01 . . . . . . "?.t. . . . //000是1 ARP请求0x0020:000000000000 c0a80a32 2

ARP,Reply 192.168.10.50 is-at ac:81:12:50:b0:16, length 28

0x0000:00223f1 1 74b2 ac81 1250 b01608060001 ."?.t. . .P. . . .

0x0010:080006040002 ac81 1250 b016 c0a80a32 . . . . .P 2//000是2 ARP应答

0x0020:00223f1 1 74b2 c0a80a01 ."?.t. . . .

在内核执行ping时,对IP地址在路由表中进行IP选路,

#route-n

内核IP路由表

目标网关子网掩码标志跃点引用使用接口

0.0.0.0192.168.10.1 0.0.0.0 UG 000wlan0

169.254.0.00.0.0.0255.255.0.0 U 100000wlan0

192.168.10.00.0.0.0255.255.255.0 U 200wlan0

先匹配本机地址,再匹配网络地址,最后交给默认网关,由网关进行路由。 如果IP地址是本机地址,那么经过lo回环到本机:ping 192.168.10.50

PING 192.168.10.50(192.168.10.5056(84 bytes of data.

64 bytes from 192.168.10.50: icmp_req=1 ttl=64 time=0.048 ms

64 bytes from 192.168.10.50: icmp_req=2 ttl=64 time=0.032 ms

。 。 。

--- 192.168.10.50 ping statistics--

1 1 packets transmitted, 1 1 received,0%packet loss, time 9996ms

#tcpdump-ni lotcpdump:verbose output suppressed,use-v or -vv for ful l protocol decodel istening on lo, l ink-type EN10MB(Ethernet,capture size 65535 bytes

CloudCone,美国洛杉矶独立服务器特价优惠,美国洛杉矶MC机房,100Mbps带宽不限流量,可选G口,E3-1270 v2处理器32G内存1Gbps带宽,69美元/月

今天CloudCone发布了最新的消息,推送了几款特价独立服务器/杜甫产品,美国洛杉矶MC机房,分配100Mbps带宽不限流量,可以选择G口限制流量计划方案,存储分配的比较大,选择HDD硬盘的话2TB起,MC机房到大陆地区线路还不错,有需要美国特价独立服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2...

咖啡主机22元/月起,美国洛杉矶弹性轻量云主机仅13元/月起,高防云20G防御仅18元/月

咖啡主机怎么样?咖啡主机是一家国人主机销售商,成立于2016年8月,之前云服务器网已经多次分享过他家的云服务器产品了,商家主要销售香港、洛杉矶等地的VPS产品,Cera机房 三网直连去程 回程CUVIP优化 本产品并非原生地区本土IP,线路方面都有CN2直连国内,机器比较稳定。咖啡主机目前推出美国洛杉矶弹性轻量云主机仅13元/月起,高防云20G防御仅18元/月;香港弹性云服务器,香港HKBN CN...

LayerStack$10.04/月(可选中国香港、日本、新加坡和洛杉矶)高性能AMD EPYC (霄龙)云服务器,

LayerStack(成立于2017年),当前正在9折促销旗下的云服务器,LayerStack的云服务器采用第 3 代 AMD EPYC™ (霄龙) 处理器,DDR4内存和企业级 PCIe Gen 4 NVMe SSD。数据中心可选中国香港、日本、新加坡和洛杉矶!其中中国香港、日本和新加坡分为国际线路和CN2线路,如果选择CN2线路,价格每月要+3.2美元,付款支持paypal,支付宝,信用卡等!...

tcpip上的netbios为你推荐
桥面163supplementedroute路由route杭州市西湖区翠苑第四幼儿园智慧校园采购项目联通版iphone4s苹果4s怎么分移动版联通版电信版?迅雷雷鸟迅雷app没有ios版本的吗?怎么回事win7还原系统win7如何一键还原电脑系统怎么操作google统计怎样获得google ga 统计代码杀毒软件免费下载2013排行榜杀毒软件排行榜2015有哪些?ios5.1.1完美越狱我的苹果手机版本显示的是5.1.1,怎么才知道是不是ios啊?我现在想越狱
vps是什么 河南vps 抗投诉vps主机 域名备案流程 东莞电信局 hostmaster host1plus 京东商城双十一活动 cdn联盟 hinet 静态空间 华为云盘 华为云服务登录 yundun 美国凤凰城 中国域名 双线空间 云服务是什么意思 wordpress空间 香港博客 更多