C#Word格式文档下载.docx
- 文档编号:15832605
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:93
- 大小:2.33MB
C#Word格式文档下载.docx
《C#Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C#Word格式文档下载.docx(93页珍藏版)》请在冰豆网上搜索。
物理层、数据链路层、网络层、传输层和应用层(最顶层),下面是一张网络分层的图片(来源于网络)二、各层的协议网络中的计算机互相通信就是实现了层与层之间的通信,要实现层与层之间的通信,则各层都要遵守规则,这样才能完成更好的通信,我们就把它们之间遵守的规则就叫个“协议”,然而网络上的五层之间遵守的协议不一样,每层都有各自的协议。
下面就由下至上的讲述每层的协议2.1物理层协议物理层是五层模型中的最底层,物理层为计算机之间的数据通信提供了传输媒体和互连设备,为数据传输提供了可靠的环境,媒体包括电缆、光纤、无线信道等,互连设备指是计算机和调制解调器之间的互连设备,如各种插头、插座等。
该层的作用是透明的传输比特流(即二进制流),为数据链路层提供一个传输原始比特流的物理连接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编程就是通过代码来实现传输层之间的通信。
因为初始化Socket类对象要指定IP地址和端口号。
在传输层有两个非常重要的协议:
UDP协议和TCP协议采用UDP协议话传输的就是UDP数据包,同样UDP数据包也由头和数据两部分组成,头部分主要标识了发送端口和接受端口,数据部分就是具体的内容信息。
同样UDP数据包是放入IP数据包中的数据部分,IP数据包再放入数据帧中在网络上传输。
由于UDP协议的可靠性差(数据发送后无法确定对方是否收到),所以又定义了一个可靠性高的协议TCP协议,TCP协议采取了握手的方式要确保对方收到了数据。
2.5应用层应用层是模型中的最顶层,是用户与网络的接口,该层通过应用程序来完成网络用户的应用需求。
该层的数据放在TCP数据包的数据部分,该层定义了一个很重要的协议Http协议,我们一般的Web开发都是基于应用层的开发,所以后面专题将会和大家介绍下Http协议。
理解Http协议可以帮助我们理解A的请求响应模型以及帮助我们自定义发出请求和自定义服务器。
三、总结现在通过一个简单的访问网页的例子来说明网络中的通信。
当我们在浏览器中输入时,这意味着浏览器要向XX发送一个网页数据包,要发送数据包,需要知道对方的IP地址,这里我们只知道网址为,却不知道IP地址,此时应用层协议DNS协议会帮我们把网址解析为IP地址,此时会发送一个DNS数据包给DNS服务器,DNS服务器再做出响应来告诉我们XX的IP地址为220.181.111.147,这样我们就知道XX(我们需要通信的主机)的IP地址。
应用层:
浏览网页采用的是HTTP协议,HTTP数据包会嵌入在TCP数据包中,此时我们发送的HTTP数据包内容为:
1.GEThttp:
/2.Accept:
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,*/*3.Accept-Language:
en-US4.User-Agent:
Mozilla/4.0(compatible;
MSIE7.0;
WindowsNT6.1;
WOW64;
Trident/5.0;
SLCC2;
.NETCLR2.0.50727;
.NETCLR3.5.30729;
.NETCLR3.0.30729;
MediaCenterPC6.0;
.NET4.0C;
.NET4.0E;
Zune4.7;
InfoPath.3;
MS-RTCLM8)5.Accept-Encoding:
gzip,deflate,peerdist6.Proxy-Connection:
Keep-Alive7.Host:
8.Cookie:
BDSFRCVID=H1K_JgC2l434o0a3SlYrhIyDwFLxPM7C3J;
H_BDCLCKID_SF=tJAt_C8htDv5HTuRj63D5JcH-UnLqMkDWaOZ0h8-aI-5MbAx-jb6hhFXM-r80nblBTbT2C3nthF0HPonHj8Bej5L3J;
BAIDUID=C0E879D1A40237E70E9FA559D40EE0AC:
FG=1;
BDUT=w5n3C0E879D1A40237E70E9FA559D40EE0AC13914a661370;
BDUSS=FEQVdNdjllMTYyYlRxY3ZZbW1hM2htemdqZFVJcWRLWmFBaEtqd1FoTDNXeE5SQUFBQUFBJCQAAAAAAAAAAAoqyysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEwLjI2LjE5Ny43NwAAAADAxFInAAAAAPcNJlD3DSZQYV;
BDRCVFReYjbPwSqvSs=2g3v5sBI-NCpv4EILPoXi4WUvY;
Hm_lvt_9f14aaa038bbba8b12ec2a4a3e51d254=1344671219756;
Hm_lpvt_9f14aaa038bbba8b12ec2a4a3e51d254=13446712197569.X-P2P-PeerDist:
Version=1.0传输层:
TCP数据包需要设置端口,接收方(XX)的Http端口默认是80,本机的端口是一个1024-65535之间的随机整数,这里假设为1025,这样TCP数据包由标头(标识着发方和接收方的端口信息)+HTTP数据包,这样TCP数据包再嵌入IP数据包中在网络上传送网络层:
IP数据包需要知道双方的IP地址,本机IP地址假定为192.168.1.5,接受方IP地址为220.181.111.147(XX),这样IP数据包由头部(IP地址信息)+TCP数据包,数据链路层:
IP数据包嵌入到数据帧(以太网数据包)中,以太网数据包需要知道双方的MAC(物理地址),发送方为本机的网卡地址,接受方为网关192.168.1.1的MAC地址(通过ARP地址解析协议得到的)。
这样数据帧由头部(MAC地址)+IP数据包组成。
经过多个网关的转发到XX服务器220.181.111.147,服务器接受到发送过来的以太网数据包,然后再从以太网数据包中提取IP数据包TCP数据包HTTP数据包,最后服务器做出HTTP响应,再用TCP协议发回给客户端(浏览器),浏览器同样的过程读取到HTTP响应的内容(HTTP响应数据包),然后浏览器对接受到的HTML页面进行解析,把网页显示出来呈现给用户,这样就完成了一次网络通信了。
C#网络编程系列二:
HTTP协议详解2012-09-2414:
09LearninghardLearninghard的博客我要评论(0)字号:
T|T我们在用A技术开发Web应用程序后,当用户在浏览器输入一个网址时就是再向服务器发送一个HTTP请求,此时就使用了应用层的HTTP协议,在上一个专题我们简单介绍了网络协议的知识,主要是为了后面讲HTTP协议做一个铺垫的AD:
我们在用A技术开发Web应用程序后,当用户在浏览器输入一个网址时就是再向服务器发送一个HTTP请求,此时就使用了应用层的HTTP协议,在上一个专题我们简单介绍了网络协议的知识,主要是为了后面讲HTTP协议做一个铺垫的,只有对HTTP协议有一个清楚的认识,这样当我们用A技术开发Web应用程序时,我们可以多从网络协议的方面去思考我们的应用程序,而不是只是单单停留在对服务器控件的拖拉的使用,这样也可以帮助我们开发一个自己的自定义web服务器。
在这里我想同时把我对A的本质的理解和大家分享下,如果有什么不对的地方,还请大家指出,首先,当我们设计一个算法的时候要明确输入参数和算法的返回(算法也就是也就是一个处理程序),其实A开发的web网页可以理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#