TCP/IP :
TCP/IP:在网络通信中,TCP/IP是主流协议()
应用层:用户自定义的协议(HTTP,EMAIL,),用于用户之间数据的传送
传输层:(传输控制:TCP,UDP)负责点对点之间连接建立,传输控制协议的指定()
网络层:用于查找路由(查找)
网络接口层:将二进制转换为数据帧。
注:帧就是网络发达单位
TCP/IP著名协议:
ARP:(物理地址:MAC地址)获取同一物理网张嘴的MAC(32位)地址
IP:负责主机和网络之间寻址(每一个主机都有一个对应的网络编号和主机号)
网络号:就是某一网络的编号(地名:湖北省武汉市江夏区XXXC27栋)
主机号:C27(代表某一网络地址的某台主机)
IP: 网络+主机号 (IPV4:4段点分十进制 192.168.8.73)
以太网络划分:
A:【网络号】【[主][机][号]】
[0-------]【主机号】 ~ [01111111]【主机号】
0.0.0.0 ~ 127.255.255.255
注:127.0.0.1 是本机地址
B:【[网络][号]】【[主机][号]】
【[10-----][--------]】
最小网络号【10000000 000000】 128.0.主机号
最大网络号:[1011111111 11111111] 191.255.主机号
C:【[网][络][号]】【[主机号]】
【110----- -------- --------】【主机号】
网络号:
最小:11000000 00000000 00000000[主机号] 192.0.0.
最大:11011111 11111111 11111111【主机号】223.255.255.
D:广播地址
E:保留地址
划分子网:财务:8人 教学:35人 学生:44人
193.8.7.1 ----190.8.7.254
子网数 --> 3个 主机号:44 北京发送信息给董老师:193.8.7.129
193.8.7. 【[--][-----]】
财务: 193.8.7.【[01]-------】
教学:193.8.7.【[11]------】
学生:193.8.7.[[10]------]
UDP:面向无连接,不安全,不可靠的传输协议。 (写信,发短信)
发送消息时,不需要对方连接,不需要关心对方是否能收到
[源主机][目的主机][0][协议][UDP长度+]
TCP:面向有连接,安全,可靠的传输协议。 (快递)
[源端口][目的端口][顺序][确认号][TCP头长URG、ACK,][窗口大小][校验和][紧急指针][可选项][数据]
端口号:为了区分某主机下的某应用程序而设定的一个编号 HTTP:80
人类: 地址:湖北省武汉市江夏区XXXC27
人名:董老师 收
机器: 地址:192.168.8.73
端口:2425
Short port; [0-65535]
注:<128为常用端口 HTTP:80>
网络字节序:为了防止不能电脑采用的高/低存储问题,故设备一种字节序
1234567 ----- 1234567
TCP是面向连接的 (Transmission Control Protocol,传输控制协议)
UDP是面向无连接的 (User Datagram Protocol,用户数据包协议)
当IP包通过路由将数据传输到目的地时,会根据TCP或UDP包头中的源端口和目的端口信息,请求和获取不同的应用。也就是说,不管TCP还是UDP,都含有网络服务必须的源端口和目的端口信息,以建立和实现网络传输服务。这时,你的疑问就来了:既然都用于传输,为何要搞两个不同的协议呢?这就需要从网络中不同服务的需求来谈起。
在网络中,有些服务,如HTTP、FTP等,对数据的可靠性要求较高,在使用这些服务时,必须保证数据包能够完整无误的送达;而另外一些服务,如DNS、即时聊天工具等,并不需要这么高的可靠性,高效率和实时性才是它们所关心的。根据这两种服务不同的需求,也就诞生了面向连接的TCP协议,以及面向无连接的UDP协议。
这里的连接(Connection)和无连接(Connectionless)是网络传输中常用的术语,它们的关系可以用一个形象地比喻来说明,就是打电话(TCP)和写信(UDP)。
打电话时,一个人首先必须拨号(发出连接请求),等待对方响应,接听电话(建立了连接)后,才能够相互传递信息。通话完成后,还需要挂断电话(断开连接),才算完成了整个通话过程。写信则不同,你只需填写好收信人的地址信息,然后将信投入邮局,就算完成了任务。此时,邮局会根据收信人的地址信息,将信件送达指定目的地。
服务器:
1、创建套接字(打开网卡)1、创建套接字(打开网卡)
int socket(网络族,控制协议,0)
TCP/IP:AF_INET
控制协议:TCP( SOCK_STREAM) UDP( SOCK_DGRAM)
默认值:0
返回值:文件的描述符
2、绑定地址
bind(int,struct sockaddr_int*)
3、收/发送信息
recvfrom
sendto()
4、结束
close();
客户端:
1、创建套接字(打开网卡)1、创建套接字(打开网卡)
2、收/发送信息
3、结束