一.TCP/IP
1.TCP/IP的介绍
TCP/IP是一个Protocol Stack,包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP等许多协议。
最早发源于1969年美国国防部(缩写为DoD)的因特网的前身ARPA网络项目,1983年1月1日,TCP/IP取代了旧的网络控制协议NCP,成为今天的互联网和局域网的基石和标准,由互联网工程任务组负责维护国防高级研究计划局DARPA与BBN技术公司、斯坦福大学和伦敦大学学院签约,在多个硬件平台上开发协议的操作版本。 在协议开发过程中,数据包路由层的版本号从版本 1 进展到版本 4,后者于 1983 年安装在 ARPANET 中。它被称为互联网协议版本4(IPv4)作为协议,仍在互联网使用,连同其目前的继承,互联网协议版本6(IPv6)。
网络核心协议(NCP)管理对 NetWare 服务器资源的访问。NCP 向 NetWare 文件共享协议(即NFSP:NetWare File Sharing Protocol)发送过程调用消息,处理 NetWare 文件和打印资源请求。 NCP 是用于 NetWare 服务器和客户机之间传输信息的主要协议。
NCP 主要负责处理登入请求以及其它文件系统和打印系统请求。NCP 是一种基于客户机/服务器的 LAN 协议。工作站建立 NCP 请求并通过 IPX 在网络上发送这些请求服务。服务器端负责接收、拆包(unpacked)并解读 NCP 请求。
NCP 服务包括:文件访问、文件锁定(file locking)、安全性、资源分配跟踪(tracking of resource allocation)、事件通知(event notification)、与其它服务器同步、连接和通信、打印服务,以及队列和网络管理。
NCP 使用的是底层互联网分组交换协议 (即IPX : Internetwork Packet Exchange Layer Services)。目前许多最新版的 NetWare(继 NetWare 5.0 之后 )也都支持 TCP/IP 协议。
2.TCP/IP分层
一共定义了四层,和 OSI参考模型的分层有对应关系。
3.TCP/IP通信过程
4.TCP特性
1.工作在传输层
2.面向连接协议、
3.全双工协议
4.半关闭 断开
5.错误检查(校验)
6.将数据打包成段,排序(给数据排序)
7.确认机制(对面每发一个包,通过报文告诉我收到了)
8.数据恢复,重传
9.流量控制,滑动窗口
ACK(确认位):表示是否前面确认号字段是否有效。只有当ACK=1时,前面的确认号字段才有效。TCP规定,连接建立后,ACK必须为1,带ACK标志的TCP报文段称为确认报文段
SYN(同步位):在建立连接时使用,用来同步序号。当SYN=1,ACK=0时,表示这是一个请求建立连接的报文段;当SYN=1,ACK=1时,表示对方同意建立连接。SYN=1,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中SYN才置为1,带SYN标志的TCP报文段称为同步报文段
FIN(断开位):表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,即告诉对方:“我的数据已经发送完毕,你可以释放连接了”,带FIN标志的TCP报文段称为结束报文段
滑动窗口:调节每次发送的数据包量
服务端和客户端之间会根据实际情况自动调节数据包的个数
5.TCP3次握手
ack=确认号
ACK=控制位 确认位
A----------------------------------------->B
seq=x Syn=1
<--------------------------------------------
seq=y ack=x+1 SYN=1 ACK=1
------------------------------------------------>
seq=x+1 ack=y+1 ACK=1
确认号的作用:告诉对方我收到了你的信息
控制位:描述了两台电脑目前处于什么状态
客户端主动发起请求报文,报文序号是随机产生的x,并且报文中的控制位SYN=1代表请求建立连接。
当服务端收到请求连接的报文会回复一个报文,会产生随机序号y,生成确认号值为,客户端请求报文的序号+1(x+1),然后控制位SYN=1 ACK=1,代表同意建立连接。
当客户端收到同意建立连接的报文时,会回复一个确认报文,会按照对方要求产生序号为x+1,再生成一个确认号,值为对方报文的序号+1(y+1),最后控制位的ACK=1,代表收到对方同意连接的请求。
三次原因:确保数据能够到达,2次不够,4次多余,3次正好。
端口号:确定应用程序(协议)
应用层(7层)协议:
ftp 文件传输 vsftpd FileZilla tcp
http 超文本传输协议 nginx apache lls tomcat tcp
dhcp:dhcp udp
ssh:openssh tcp
dns:域名解析 bind tcp
范围:0-65535 前1024是知名80http ftp2120 ssh22 telnet23 tftpudp69
端口号不可以重复使用,一个端口号对应一个程序
客户端端口号:随机
服务端端口号:固定
tcp/80
80端口代表7层的协议http协议
协议靠程序来实现
http:超文本传输协议(能发文字和图片)
开发调用http协议,开发出应用程序(apache nginx软件)
https:tcp/443
6.四次挥手
半关闭状态,怕有数据没有传输完毕。
7.有限状态机(扩展)
1.closed 断开 两个都有
2.listen 监听 服务端
3.syn-sent syn 发送 客户端
4.syn-recd syn ACK=1 接收 服务端
8.TCP超时重传
异常网络状况下(开始出现超时或丢包),TCP控制数据传输以保证其承诺的可靠服务。
TCP服务必须能够重传超时时间内未收到确认的TCP报文段。为此,TCP模块为每个TCP报文段都维护一个重传定时器,该定时器在TCP报文段第一次被发送时启动。如果超时时间内未收到接收方的应答。
TCP模块将重传TCP报文段并重置定时器。至于下次重传的超时时间如何选择,以及最多执行多少次重传,就是TCP的重传策略。
二.UDP协议
1.UDP协议的介绍
udp:用户数据包协议
udp没有连接测试,直接传数据,不管对面能不能收到
2.UDP特性
1.工作在传输层
2.提供不可靠的网络访问
3.非面向连接协议
4.有限的错误检查
5.传输性能高
6.无数据恢复特性
状态机
客户端会出现:syn-sent estab
服务端:listen syn-rcvd estab
系统通过pid号区分应用程序
kill pid号
#发送信号 qq 微信随机产生pid号
两台电脑之间用端口号区分应用程序
三.TCP和UDP的区别
tcp 面向连接 慢 稳定
udp 无面向连接 快 不稳定
四.TELNET协议
1.telnet介绍
telnet:远程管理协议,明文传输
telnet ip地址 端口号
作用:探测远端服务器端口
2.wireshark
-
选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。一般是
-
使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获数据。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。文章来源:https://www.toymoban.com/news/detail-824903.html
-
使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。文章来源地址https://www.toymoban.com/news/detail-824903.html
到了这里,关于TCP/IP、UDP和TELNET的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!