对网络通讯的一些学习和总结

今天特意看了下网络通讯,想多了解下网络通讯的底层知识,下面写了些自己的了解和网上的一些总结:

 

1、网路基础:IP & 端口

IP【主机名】,网络中设备的标识;本地IP(127.0.0.1)主机名:localhost ;表示连接那台设备

格式:(0~255.0~255.0~255.0~255)ipv4,有4个G的ip地址,大概42亿

每一个终端设备(计算机)在互联网上都有一个独立的IP

端口:用于标识进程的逻辑地址,不同进程的标识;有效端口:0~65535;其中0~1024由系统使用或者保留端口,开发中不要使用1024以下端口; 表示连接改设备的某个服务(比如:电子邮件服务,传输文件服务等)

 对网络通讯的一些学习和总结_第1张图片

2、TCP/UDP协议详解

TCP:类似电话,打过去必须确认对方是否在线,有三次握手和四次端口的过程,安全可靠,但效率低。下载文件或者视频就是典型的TCP案例

UDP:类似短信,发送过去后无需确认对方是否收到,连接不安全,但效率高。常见的案例有播放视频、英雄联盟等

TCP连接三次握手,UDP断开四次握手:

对网络通讯的一些学习和总结_第2张图片

 

3、socket基本概念

socket在网络层和连接层之间,他的英语翻译就是插座的意思,顾名思义,通过确定两端的ip和端口,然后对插,从而连接。也可以理解为 ip&端口 == socket。

流程图:

对网络通讯的一些学习和总结_第3张图片 

附上代码:

对网络通讯的一些学习和总结_第4张图片

 

 

最后来点小知识:

终端操作:$ nc -lk 123456(终端命令停下来:contr+C)

代表始终监听本地计算机123456端口的数据

ping,给某个地址发数据包,看能不能发的通(如果ping 127.0.0.1不通,说明网卡有问题,如果网卡没问题,再ping自己设备的地址,如果ping不通,那么就是路由器的问题)

Netcat:(很有用,如果服务器说没有收到你的数据,那么可以通过这个进行测试,在本地搞个服务器,玩一下)

1、是终端下用于调试和检查网络的的工具包

2、用于创建TCP/IPl连接

 

转载于:https://www.cnblogs.com/includeao/p/9020345.html

你可能感兴趣的:(对网络通讯的一些学习和总结)