TCP三次握手,四次挥手,NAT和代理服务器的原理
来源:互联网 发布:怎样消费到淘宝v2 编辑:程序博客网 时间:2024/06/18 16:50
TCP三次握手:
TCP 连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息。
以下为客户端连接服务端的过程:
1. 客户端向服务器发送一个SYN置位的TCP报文,其中包含连接的初始序列号x和一个窗口大小(表示客户端上用来存储从服务器发送来的传入段的缓冲区的大小)。
2. 服务器收到客户端发送过来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,其中包含它选择的初始序列号y、对客户端的序列号的确认x+1和一个窗 口大小(表示服务器上用来存储从客户端发送来的传入段的缓冲区的大小)。
3.客户端接收到服务器端返回的SYN+ACK报文后,向服务器端返回一个确认号y+1和序号x+1的ACK报文,一个标准的TCP连接完成。
TCP 使用类似的握手过程来结束连接。这可确保两个主机均能完成传输并确保所有的数据均得以接收。
举个打电话的例子:
A : 你好我是A,你听得到我在说话吗
B : 听到了,我是B,你听到我在说话吗
A : 嗯,听到了
建立连接,开始聊天!
TCP四次挥手:四次挥手过程:
1、当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口(当然确认信号还是可以发),就会发FIN给主机B。
2、主机B收到A发送的FIN,表示收到了,就会发送ACK回复。
3、但这是B可能还在发送数据,没有想要关闭数据口的意思,所以FIN与ACK不是同时发送的,而是等到B数据发送完了,才会发送FIN给主机A。
4、A收到B发来的FIN,知道B的数据也发送完了,回复ACK, A等待2MSL以后,没有收到B传来的任何消息,知道B已经收到自己的ACK了,A就关闭链接,B也关闭链接了。
NAT和代理服务器的原理:NAT:是将IP 数据报报头中的IP 地址转换为另一个IP 地址的过程。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用IP 地址空间的枯竭。
代理服务器的原理:代理服务器(Proxy Server)是个人网络和Internet服务商之间的中间代理机构,它负责转发合法的网络信息,对转发进行控制和登记。代理服务器作为连接Internet(广域网)与Intranet(局域网)的桥梁,在实际应用中发挥着极其重要的作用,它可用于多个目的,最基本的功能是连接,此外还包括安全性,缓存,内容过滤,访问控制管理等功能。
代理服务器的功能: 1.充当局域网与外部网络的连接出口2.作为防火墙3.网址过滤和访问权限限制4.提高访问速度
代理服务器的工作原理:当客户在浏览器中设置好Proxy Server后,你使用浏览器访问所有WWW站点的请求都不会直接发给目的主机,而是先发给代理服务器,代理服务器接受了客户的请求以后,由代理服务器向目的主机发出请求,并接受目的主机的数据,存于代理服务器的硬盘中,然后再由代理服务器将客户要求的数据发给客户。下面我们来详细说明其工作过程: 在网络上,当客户端向服务器端请求数据时,服务器端会随即将所需的数据传给客户端。但是这个服务器可能在很远的地方(例如在美国),数据传输需要较长的时间,如果需要同样数据的用户很多,则每次都要重复传送.代理服务器是为了减少长距离的传送而诞生的。它不仅可以代理客户端向服务器端提出请求,也可以代理服务器传给客户端所需要的数据。客户端对服务器端提出请求时,此请求会被送到代理服务器,然后代理服务器会检查本身是否有客户端所需要的数据。如果有,代理服务器便代替服务器将数据传给客户端。而代理服务器一般都是设置距自己传输距离较近的某台代理服务器,所以它传数据给客户端的速度会比从远程服务器传数据要快。如果代理服务器没有客户端所请求的数据,它会去服务器获取所需的数据。在代理服务器从服务器端取得数据传给客户端时,自己保存一份,待下次如果有用户提出相同的请求时,便可以将数据直接传过去,而不需要再去服务器端获取了。可见,代理服务器改善网络数据传输阻塞的功能是显而易见的。
1 0
- TCP三次握手,四次挥手,NAT和代理服务器的原理
- TCP的三次握手原理和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- tcp的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- TCP的三次握手和四次挥手
- php 自动加载类方法小结
- PHP开发APP接口
- 全局获取Context
- WPF报表
- Leetcode 107. Binary Tree Level Order Traversal II (Easy) (cpp)
- TCP三次握手,四次挥手,NAT和代理服务器的原理
- Java异常处理-----运行时异常(RuntimeException)
- 【C++ 与 STL】集合:set
- hdu 5726 2016 Multi-University Training Contest 1(二分+dp)
- karma +jasmine+karma-coverage
- IO流以日志文件记录异常
- 并发编程之锁--由浅到深!
- linux从入门到高手的学习书籍整理
- 数论基础1011 UVA 11754 剩余定理+枚举