网络编程

何为网络编程

所谓的网络编程就是,让在不同的电脑上的软件能够进行数据传递,即进程之间的通信

IP地址的作用:用来标记网络中的一台主机

Port的作用:用来标记主机中的一个进程

TCP/IP协议

TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合简称TCP/IP协议族

常用网络协议如下:

 

TCP的三次握手

 

 

第一次握手:客户端向服务器发送连接请求包,标志位SYN(同步序号)置为 seq = X;

    第二次握手:服务器收到客户端发过来报文,由 SYN = X 知道客户要求建立联机。向客户端发送一个包含SYN和ACK的TCP报文,其中服务器向客户端发送连接请求包,标志位SYN(同步序号)置为 Y=1;将确认序号(ACK)设置为客户的序列号加1,即 X+1 ,

第三次握手:客户端收到服务器发来的包后检查确认序号(ACK)是否正确,即第一次发送的序号加1(X+1);若正确,服务器再次发送确认序号(ACK) = Y+1;

服务器收到确认序号值 ACK=2 则连接建立成功,可以传送数据了。

TCP的四次挥手

 

    第一次挥手:客户端给服务器发送TCP包,用来关闭客户端到服务器的数据传送。将标志位FIN 置为 X 和ACK置为 Y;

    第二次挥手:服务器收到FIN后,发回一个ACK(标志位ACK=1),确认序号为收到的序号加1,即 X+1 ;

    第三次挥手:服务器关闭与客户端的连接,发送一个FIN,标志位FIN和ACK置为1,序号为 Y;

第四次挥手:客户端收到服务器发送的FIN之后,发回ACK确认,确认序号为收到的序号加1,即Y+1,服务器收到ACK为Y+1后关闭。

TCP和UDP的区别

1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的

  UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)

4、每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

5、TCP首部开销20字节;UDP的首部开销小,只有8个字节

6、TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值