您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页TCP协议

TCP协议

来源:飒榕旅游知识分享网
 TCP/IP协议

1978年,美国国防部高级计划砑究局开发,为ARPANET设计。 1983年,转换完成,INTERNET正式出现。

ARPA将TCP/IP 协议低价出售,鼓励各厂商开发TCP/IP产品,加上TCP/IP本身功能强大,灵活好用,最终广泛流行。

OSI模型的缺陷

功能和服务定义复杂,很难产品化

(实际应用中几乎没有完全按OSI七层模型设计的产品)

OSI 网络的理论标准

TCP/IP 网络的事实上的标准

分层:

OSI 物理层 数链层 网络层 传输层 会话层 表示层 应用层TCP/IP 网络接口层 网间网层 传输层 应用层

网间网层: 第3层

IP协议: IP编址 路由转发

ARP协议 地址解析协议 (由IP 地址查找对方的MAC地址)

ICMP协议 网络控制消息协议(测试网络连通性)

例:Ping命令发送ICMP的echo包,通过回送的echo relay进行

网络测试。

IGMP 互连网组管理协议 用于组播通信

IP地址的分类:

A类 (1-126) 前8位表示网络位,后24位表示主机位。

60 . 00000000.00000000.00000000

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.255E类 (240-255) 科研使用

单播 一个主机将数据发送到网络中的单个节点.

广播 一个主机将数据发送到网络中本网段的所有节点. 本地广播255.255.255.255

定向广播 172.16.2.255组播 一个主机将数据发到网络中一组节点.

子网掩码:

用来标识一个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地址)

映射 IP EthernetARP: 172.16.3.2 0800.0020.1111

172.16.3.1

IP: 172.16.3.2

MAC: 0800.0020.1111

172.16.3.2

IP: 172.16.3.2 MAC= ?

我知道你的请求,这是我的MAC地址

我需要知道176.16.3.2的MAC地址.

不同网段的ARP

当主机发现目标主机和自己不在同一网段:

1. 通过ARP协议查找网关的MAC,将数据传递给网关。2. 网关通过ARP协议查找目标MAC, 将数据传给目标主机。

传输层 第4层

实现终端用户到终端用户之间的连接。

1. 分段:使数据的大小适合在网络上传递。分段后用序列号

标识

2. 区分服务:标识上层的通信进程。 利用端口号(1-

65535)来实现。

如:WWW FTP QQ 电子邮件….. 80 21 4000 25 110

传输层协议主要是:传输控制协议TCP(Transmission ControlProtocol)和用户数据报协

议UDP(User Datagram rotocol)。

TCP是面向连接的通信协议,通过三次握手建立连接。

TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。

TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以发送方的发送速度。

UDP是无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,UDP通讯时不需要接收方确认,属于不可靠的传输,丢包不重传。

TCP和UDP的区别:

TCP 1. 面向连接,正式数据发送前必须建立连接。( 三次握手 ) 2. 需要确认,丢包重传。

可靠性好,但效率低。适用于一次传输大量数据的情况,如文件传输,浏览主页,发送电子邮件等。

UDP 1. 非连接,发送数据前不需要建立连接。 2. 不需要确认,丢包不重传。

可靠性不好,但效率高。适用于一次传输较小量的数据,本身不提可靠性,需要上层应用程序(校验)和下层网络环境(高带宽网络环境)来提供可靠性。

TCP报文格式

源端口 目标端口 序列号 确认号 窗口。。。。上层数据 校验

端口:标识上层通信进程,区分不同的服务 1-65535

保留端口 标识公用服务,如HTTP, SMTP, TELNET等。 1-1023

自由端口 标识临时进程,结束释放,如IE, WORD, CMD…

1024-65535

TCP 三次握手

发送 SYN

(seq=100 ctl=SYN)接收 SYN建立会话

(seq=101 ack=301 ctl=ack)

Host AHost B

12

3

接收 SYN (seq=300 ack=101 )

TCP 简单确认

接收 1

发送 ACK 2

接收 2

发送 ACK 3

接收 3

发送 ACK 4

TCP 窗 口

ACK 3

Window size = 2

Window size = 2Send 4

Window size = 3Send 3ACK 5

Window size = 2

TCP连接建立

滑动窗口 = 1

发送方接收方

发送方

数据 3 被丢弃

发送 1

接收 ACK 2

发送 2

接收 ACK 3

发送 3

接收 ACK 4

接收方

Window size = 3Send 1

Window size = 3Send 2

Window size = 2Send 3

应用层 :

TCP协议:

HTTP 80 超文本传输协议(www服务)HTTPS 443 安全的HTTP协议FTP 21 文件传输协议

SMTP 25 简单邮件传输协议(发送邮件)POP3 110 第三版邮局协议(接收邮件)TELNET 23 远程登录协议

UDP协议:

TFTP 69 简化的文件传输协议DNS 53 域名解析协议

DHCP 67 动态主机配置协议NTP 123 网络时间协议

SNMP 161 简单网络管理协议

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务