首页 > 其他 > 详细

网络编程part2

时间:2020-04-18 16:08:29      阅读:53      评论:0      收藏:0      [点我收藏+]

五层协议

计算机1:                            计算机2:
?
应用层                               应用层
?
socket                              socket
?
传输层                              传输层
网络层                              网络层
数据链路层                           数据链路层
物理层  <===========交互机===========> 物理层
?
?
客户端软件send             服务端软件recv
操作系统                   操作系统
计算机硬件<====物理介质=====>计算机硬件
客户端软件send             服务端软件recv
操作系统                   操作系统
计算机硬件<====物理介质=====>计算机硬件
?
?
?
ethernet头+ip头+tcp头+应用层的头+应用层数据

一、传输层 tcp/udp协议——基于端口

端口的范围是0-65535,其中0-1023是系统占用的端口

所以ip加上port可以标识到世界范围的任意一个基于网络通信的应用程序

基于ctp协议通信时——必须先建立一个双向通信的链接

三次握手建立链接:
   建立链接是为了传数据做准备的,三次握手即可
?
四次挥手断开链接
    断开链接时,由于链接内有数据传输,所以必须分四次断开

tcp协议是可靠传输的,发送数据必须等到对方确认后才算完成,才会将自己内存中的数据清理掉,否则重传。

udp协议是不可靠传输的(不需要确认,所以速度相对快)

TCP协议的半连接池:

backlog

[请求1,请求2,请求3...]

面对洪水攻击时,理论上的可以扩充backlog应对...

二、应用层

可以自定义协议——头部+数据

注意点:

1.头部:放对于数据的描述信息(接收方,数据类型,数据长度)

数据:数据部分

2.头部长度是固定的(通过头部来获取接收数据的属性)


网络编程part2

原文:https://www.cnblogs.com/bailongcaptain/p/12726153.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!