C#网络编程系列一:网络协议简介

C#网络编程系列一:网络协议简介
算机和调制解调器之间的互连设备,如各种插头、插座等。该层的作用是透明的传输比特流(即二进制流),为数据链路层提供一个传输原始比特流的物理连接
2.2数据链路层
数据链路层是模型中的第2层,该层对接受到物理层传输过来的比特流进行分组,一组电信号构成的数据包,就叫做"帧",数据链链路层就是来传输以"帧"为单位的数据包,把数据传递给上一层(网络层),帧数据由两部分组成:帧头和帧数据,帧头包括接受方物理地址(就是网卡的地址)和其他的网络信息,帧数据就是要传输的数据体。数据帧的最长为1500字节,如果数据很长,就必须分割成多个帧进行发送。
2.3网络层
公安派出所组织条例
该层通过寻址(寻址地址)来建立两个节点之间的连接,大家都知道我们的电脑连接上网络后都一个IP地址,我们可以通过IP地址来确定不同的计算机是否在同一个子网路。如果我们的电脑连接上网络后就有两种地址:物理地址和网络地址(IP地址),网络上的计算机要通信,必须要知道通信的计算机“在哪里”,首先通过网络地址来判断是否处于同一个子网络,然后再对物理地址(MAC)地址进行处理,从而准确确定要通信计算机的位置。
在网络层中有我们熟悉的IP协议(即规定网络地址的协议),目前广泛采用的是IP协议第四版(IPv4),这个版本规定,网络地址由32位二进制位组成。我们可以自己配置IP
地址也可以自动获得的方式得到IP地址,Ip地址分成两部分,前24位代表网络,后8位代表主机号,如192.168.254.1和192.168.254.2就处于同一个子网络里,因为这两个IP地址的前24位相同。
网络层中以IP数据包的形式来传递数据,IP数据包也包括两部分:头(Head)和数据(Data),IP数据包放进数据帧中的数据部分进行传输。
2.4传输层
通过MAC和IP地址,我们可以到互联网上任意两台主机来建立通信。然而这里有一个问题,到主机后,主机上有很多程序都需要用到网络,比如说你在一边听歌和好用QQ 聊天,当网络上发送来一个数据包时,是怎么知道它是表示聊天的内容还是歌曲的内容的,这时候就需要一个参数来表示这个数据包是发送给那个程序(进程)来使用的,这个参数我们就叫做端口号,主机上用端口号来标识不同的程序(进程),端口是0到65535之间的一个整数,0到1023的端口被系统占用,用户只能选择大于1023的端口。
硬件看门狗
传输层的功能就是建立端口到端口的通信,网络层就是建立主机与主机的通信,这样如果我们确定了主机和端口,这样就可以实现程序之间的通信了。我们所说的Socket编程就
1GET www.baidu/HTTP/1.1
莱镇香格里2Accept:application/x-ms-application,image/jpeg,application/xaml+xml, image/gif,image/pjpeg,application/x-ms-xbap,application/vnd.ms-excel, application/vnd.ms-powerpoint,application/msword,*/*
3Accept-Language:en-US
4User-Agent:Mozilla/4.0(compatible;MSIE7.0;Windows NT  6.1;WOW64; Trident/5.0;SLCC2;.NET CLR2.0.50727;.NET CLR3.5.30729;.NET CLR3.0.30729; Media Center PC6.0;.NET4.0C;.NET4.0E;Zune  4.7;InfoPath.3;MS-RTC LM8)
5Accept-Encoding:gzip,deflate,peerdist
6Proxy-Connection:Keep-Alive
7Host:www.baidu
8Cookie:BDSFRCVID=H1K_JgC2l434o0a3SlYrhIyDwFLxPM7C3J;
美国地震台网
H_BDCLCKID_SF=tJAt_C8htDv5HTuRj63D5JcH-UnLqMkDWaOZ0h8-aI-5MbAx-jb6hhFXM-r 80nblBTbT2C3nthF0HPonHj8Bej5L3J;
BAIDUID=C0E879D1A40237E70E9FA559D40EE0AC:FG=1;
BDUT=w5n3C0E879D1A40237E70E9FA559D40EE0AC13914a661370;
氏族社会BDUSS=FEQVdNdjllMTYyYlRxY3ZZbW1hM2htemdqZFVJcWRLWmFBaEtqd1FoTDNXeE5SQUFBQ UFBJCQAAAAAAAAAAAoqyysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAADEwLjI2LjE5Ny43NwAAAADAxFInAAAAAPcNJlD3DSZQYV;
BDRCVFR[eYjbPwSqvSs]=2g3v5sBI-NCpv4EILPoXi4WUvY;
Hm_lvt_9f14aaa038bbba8b12ec2a4a3e51d254=1344671219756;
Hm_lpvt_9f14aaa038bbba8b12ec2a4a3e51d254=1344671219756
9X-P2P-PeerDist:Version=1.0
传输层:
河南发生纵火案
TCP数据包需要设置端口,接收方(百度)的Http端口默认是80,本机的端口是一个1024-65535之间的随机整数,这里假设为1025,这样TCP数据包由标头(标识着发方和接收方的端口信息)+HTTP数据包,这样TCP数据包再嵌入IP数据包中在网络上传送网络层:
IP数据包需要知道双方的IP地址,本机IP地址假定为192.168.1.5,接受方IP地址为220.181.111.147(百度),这样IP数据包由头部(IP地址信息)+TCP数据包,数据链路层:
IP数据包嵌入到数据帧(以太网数据包)中,以太网数据包需要知道双方的MAC(物理地址),发送方为本机的网卡地址,接受方为网关192.168.1.1的MAC地址(通过ARP地址解析协议得到的)。这样数据帧由头部(MAC地址)+IP数据包组成。
经过多个网关的转发到百度服务器220.181.111.147,服务器接受到发送过来的以太网数据包,然后再从以太网数据包中提取IP数据包——>TCP数据包——>HTTP数据包,最后服务器做出"HTTP响应",再用TCP协议发回给客户端(浏览器),浏览器同样的过程读取到HTTP响应的内容(HTTP响应数据包),然后浏览器对接受到的HTML页面进行解析,把网页显示出来呈现给用户,这样就完成了一次网络通信了。

本文发布于:2024-09-22 12:52:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/459414.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据包   数据   地址   网络   IP地址   端口   传输   需要
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议