2023年7月31日发(作者:)
TCP/IP协议
1978年,美国国防部高级研究计划署ARPA(Advanced Research Project Agency)开发了TCP/IP协议。1980年前后,arpanet开始向TCP/IP协议转换。
1983年1月,arpanet向tcp/ip的转换全部结束。同时,美国国防部国防通信局将arpanet分为两个独立的部分,一部叫作MILNET,用于美国军方的数据通信;另一部分仍叫arpanet,用于进一步的研究工作,今天的internet就起源于ARPA网。
ARPA将TCP/IP 协议低价出售,鼓励各厂商开发TCP/IP相关产品,加上TCP/IP本身功能强大,灵活好用,最终广泛流行。
( 1984年,ISO国际标准化组织参照了TCP/IP及其它的协议,开发了OSI协议。OSI协议将网络划分为七层,又称七层参考模型。但该协议最终没有在网络中被使用, 今天的网络采用的是TCP/IP协议。 )
OSI 理论上的标准 ( 研发)
TCP/IP 事实上的标准 ( 组网)
OSI 物理层 数链层 网络层 传输层 会话层 表示层 应用层
TCP/IP 网络接口层 网络层 传输层 应用层
一、网络接口层:(OSI的1-2层)
物理层:主要定义电气或机械特性,如电压、电流、线缆和接口的标准。
数据链路层:在相邻节点之间建立链路,传送数据帧。
局域网: 以太网
广域网: DDN专线 SDH 专线
二、网络层: (OSI的第3层)
ICMP协议:
网络控制消息协议,发送控制报文,传递差错、控制、查询等信息。
Ping
测试网络连通性,发送ICMP的echo请求包,通过回送的echo relay进行。
Tracert
测试到目标经历的路由器。
Tracert 先发送 TTL 为 1 的数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应,通过检查中间路由器发回的“ICMP 超时”的消息确定路由。
IGMP:
互连网组管理协议,用于组播通信。
IP协议:
IP编址 路由转发
ARP协议:
地址解析协议 (由IP 地址查找对方的MAC地址)
46—1500字节
UDP
IPV4标识 QOS标识 总长 分段标识 生存时间 上层协议 校验 源IP 目的IP TCP头部 应用层
V4 0 1500 64 TCP 172.16.1.1 202.1.1.2 邮件
TTL
IP地址:
由32位的0、1代码组成,每8位为一段。为方便表示,采用点分十进制的格式。
11000000 11000000 00000001 00000010 = 192.192.1.2
0000 0000 = 0
1111 1111 = 255
A类 (1-126) 前8位表示网络位,后24位表示主机位。
60 . 00000000.00000000.00000000
( 127.0.0.0/8 网络保留,作环回测试用。)
B类 (128-191) 前16位表示网络位,后16位表示主机位。
160 . 1. 00000000.00000000
C类 (192-223) 24 8
前24位表示网络位,后8位表示主机位。
200 . 1 . 1 . 00000000
D类 (224-239) 用于组播地址 224.0.0.0 --- 239.255.255.255
E类 (240-255) 科研使用
单播 一个主机将数据发送到网络中的单个节点.
广播 一个主机将数据发送到网络中某网段的所有节点. 本地广播 255.255.255.255 2层: 48个1
定向广播 172.16.2.255/24 (12个F)
组播 一个主机将数据发到网络中一组节点.
子网掩码:
用来标识一个IP地址哪些是网络位, 哪些是主机位.
1
0
表示网络位
表示主机位
例如:
60.1.1.2 /8 255.0.0.0
160.1.1.2 /16 255.255.0.0
200.1.1.2 /24 255.255.255.0
私有IP地址:
可以重复使用, 节约IP地址.
10.0.0.0 / 8 1个A类
172.16.0.0 / 16 ---172.31.0.0 /16 16个B 类
192.168.0.0 / 24 --- 192.168.255.0 / 24 256个C类
地址解析协议ARP
由IP 地址查找对方的MAC地址,广播请求,单播回应。
主机A ping 目标192.168.1.253,需要完成3层和2层封装。目标3层IP已知,但目标2层MAC末知,主机A以 广播方式向整个网络询问“谁是192.168.1.253,请问你的MAC是多少?”网段内所有主机都收到,但只有192.168.1.253回应,用单播方式告诉主机A自己的MAC地址。
主机A完成2层封装,发送ping包。同时,将B的MAC信息写入ARP缓存表,以便下次使用。
C:UsersAdministrator>ping 192.168.1.253
来自 192.168.1.253 的回复: 字节=32 时间=6ms TTL=255
来自 192.168.1.253 的回复: 字节=32 时间=44ms TTL=255
来自 192.168.1.253 的回复: 字节=32 时间=6ms TTL=255
C:UsersAdministrator>arp –a (老化时间默认1200秒)
Interface: 192.168.1.60 --- 0x2
Internet Address Physical Address Type
192.168.1.251 00-1c-f0-40-cd-61 dynamic
192.168.1.253 08-00-2b-0a-c7-ea dynamic
不同网段的ARP
当主机发现目标主机和自己不在同一网段:
1. 主机通过ARP协议查找网关的MAC,将数据传递给网关。
2. 网关通过查路由表,找到前往目标的下一跳,然后用ARP协议解析一下跳的MAC,将数据传给一下跳。
3. 最后一跳路由器通过ARP协议解析目标MAC, 将数据传给目标主机。
三、传输层: (OSI的第4层)
实现终端用户到终端用户之间的连接。
1. 分段:使数据的大小适合在网络上传递。分段后用序列号标识
2. 区分服务:标识上层的通信进程。 利用端口号(1-65535)来实现。
如:WWW FTP QQ 电子邮件…..
80 21 4000 25 110
传输层协议:
传输控制协议TCP (Transmission Control Protocol)
用户数据报协议UDP (User Datagram rotocol)。
TCP和UDP的区别:
TCP 1. 面向连接,正式数据发送前必须通三次握手建立连接。
2. 需要确认,丢包重传。
3. 通过滑动窗口机制,可以对数据传输进行流量控制。
可靠性好,适用于一次传输大量数据的情况,如文件传输,浏览网页,发送邮件等。
UDP 1. 非连接,发送数据前不需要建立连接。
2. 不需要确认,丢包不重传。
可靠性不好,适用于一次传输较小量的数据,如DNS、DHCP、SNMP、TFTP等。 另外,对延时比较敏感的应用,如VOIP、视频会议等应用,只能采用UDP协议。
TCP报文格式
源端口 目标端口 序列号 确认号 窗口 校验 ...... 上层数据
端口:标识上层通信进程,区分不同的服务 1-65535
保留端口 标识公用服务,如HTTP, SMTP, TELNET等。
1-1023
自由端口 标识临时进程,结束释放,如IE, QQ
1024-65535
PC: >netstat –ano 查看本机开启的网络服务
活动连接
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:7 0.0.0.0:0 LISTENING 348
TCP 0.0.0.0:9 0.0.0.0:0 LISTENING 348
TCP 192.168.1.60:5900 192.168.1.100:49166 ESTABLISHED 3252
TCP 192.168.1.60:5900 192.168.1.101:49181 ESTABLISHED 3252
TCP 192.168.1.60:5900 192.168.1.102:49193 ESTABLISHED 3252
TCP 192.168.1.60:49858 222.88.91.156:80 ESTABLISHED 2356
TCP 192.168.1.60:49985 183.60.62.35:80 ESTABLISHED 5168
TCP 192.168.1.60:49988 183.60.15.181:80 ESTABLISHED 5168
TCP 192.168.1.60:49989 101.226.103.122:80 ESTABLISHED 5168
TCP 192.168.1.60:50084 119.147.9.85:80 ESTABLISHED 4888
TCP 192.168.1.60:50087 219.153.45.35:80 ESTABLISHED 4888 TCP 192.168.1.60:50090 115.236.97.21:80 ESTABLISHED 4888
TCP 连接的建立 (三次握手)
TCP 连接的拆除 (四次握手)
TCP传输确认
TCP滑动窗口
UDP报文格式
源端口 目标端口……校验 上层数据
套接字 (Socket=protocol+Ip address+ TCP/UDP port )
多个TCP连接或多个应用程序进程可能需要通过同一个 TCP协议端口传输数据。为了区别不同的应用程序进程和连接,计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口。
套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的约定。
172.16.1.1 tcp 1024 ---------------------- 202.1.1.2 tcp 80 5元素
172.16.1.2 tcp 1039 ---------------------- 202.1.1.2 tcp 80
Socket原意是 “插座”。通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
四、应用层 : (OSI的5-7层)
基于TCP的协议:
HTTP 80 超文本传输协议(www服务)
HTTPS 443 安全的HTTP协议
FTP 21 文件传输协议
SMTP 25 简单邮件传输协议(发送邮件)
POP3 110 第三版邮局协议(接收邮件)
Telnet 23 远程登录协议 (明文)
SSH 22 安全的shell协议(加密的telnet协议)
基于UDP的协议:
TFTP 69 简化的文件传输协议
DNS 53 域名解析协议
DHCP 67 动态主机配置协议 ( client的端口号68,服务器端口67 )
SNMP 161 简单网络管理协议
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690781128a424506.html
评论列表(0条)