通信协议

一、 计算机网络的体系结构

      计算机网络是一个非常复杂的系统,将整个网络的传输功能进行分层设计的网络结构层次模型及各层协议的集合称为计算机网络的体系结构。为了解决异构互 联及通信问题, 20世纪 70 年代后期国际标准化组织( ISO )制定了 OSI ( Open System Interconnect )开放式系统互联参考模型。该模型采用了三级抽象,即体系结构、服务定义和协议规格说明,是一种标准化的理论参考模型。

二、 TCP/IP协议模型

     TCP/IP ,全称为 Transfer Controln Protocol/Internet Protocol ,即传输控制 / 网际协议,它并不单只 TCP 和 IP 这两个协议,而是用于计算机通信的一组协议,我们通常称之为 TCP/IP 协议族。

     TCP/IP 是四层的体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,如图

2.1 物理层( Physical Layer )

     物理层把比特流传送到物理媒体。电气信号(或光信号)在物理媒体中传播,比特流从发送端物理层传送到接收端物理层。物理层接收到比特流,上交给数据链路层。主机的网卡、 RJ45 以太网接口、网线等硬件设备均属于物理层范畴。

2.2 数据链路层( Data Link Layer )

     数据链路层也称为网络接口层,它的功能是将网络层提交的数据报( IP Datagram )封装成(以太网)帧后提交给物理层,或从物理链路上接收到的数据帧中萃取数据报提交给网络层。

     对于一个给定的(物理)连接来说,链路层协议主要实现在网络适配器中,即我们常说的网卡( NIC , Network Interface Card )。传输节点的网络层把 IP 数据报传递到适配器,由适配器将此数据报封装到链路层的帧中,然后把这个帧传输到物理层通信链路。

     现在一般都是以太网卡,上面跑的是以太网驱动。 DSL 通信中的 PPPoE 即 Point to Point Protocol over Ethernet ,其层级同网络层。

2.3 网络层( Network Layer )

     Internet 的网络层通过一系列的路由器在源地址和目的地址之间传输数据包,它依赖于底层链路层的服务。由于该层的主要协议是 IP 协议, 因而也可简称为 IP 层。它是TCP/IP 协议栈中最重要的一层,主要功能是可以把源主机上的分片( Fragment )发送到互联网中的任何一台 目标主机上。

     网络层包含了子网操作,它是懂得网络拓扑结构(网络中机器的物理配置,带宽的限制等)的最高层,也是内网通信的最高层。涉及到 ARP 协议, ICMP 协议, RIP 、 OSPF 、BGP 等路由协议和路由器设备。

2.4 传输层( Transport Layer )

     我们通常所说的两台主机之间的通信其实是两台主机上对应应用程序之间的通信,传输层提供的就是应用程序之间的通信,也叫端到端( host-to- host end-to-end )的通信。在 TCP/IP 协议族中传输层包含点对点( Peer to Peer )的传输协议:一个是 TCP (传输控制协议);另一个是 UDP (用户数据报协议)。

     TCP 是一个可靠的面向连接的协议,它允许源于一个机器的字节流( byte stream )被无错误地传输到 Internet 上的任何机器。 UDP 是一个不可靠无连接的协议,它是为那些不需要 TCP 的序列号管理和流 控制而想自己提供这些功能的应用程序设计的。

2.5 应用层( Application Layer )

    应用层是指建立在传输层之上,直接面向用户,向用户提供特定的、常用的应用程序。如远程登录服务( tcp/telnet )、超文本传输协议 ( tcp/http )、文件传输协议(tcp/ftp )、实时流媒体协议( tcp/rtsp );动态主机设置协议( udp/dhcp )、简 单文件传输协议( udp/tftp )、实时传输协议( udp/rtp )等。

     鉴于 TCP 和 UDP 协议各自的特性,有些应用综合使用两种协议。例如 DNS 在某些情况下使用 TCP (发送和接收域名数据库),但使 用 UDP 传送有关单个主机的信息;RTSP/RTP/RTCP 使用 TCP 实现流点播控制,使用 UDP 实现数据传输及控制。

三、 HTTP、TCP、UDP三者之间的关系

都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。

TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。

在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。

在传输层中有TCP协议与UDP协议。

在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。

因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。

socket:

这是为了实现以上的通信过程而建立成来的通信管道,其真实的代表是客户端和服务器端的一个通信进程,双方进程通过socket进行通信,而通信的规则采用指定的协议。socket只是一种连接模式,不是协议,tcp、udp,简单的说(虽然不准确)是两个最基本的协议,很多其它协议都是基于这两个协议如,http就是基于tcp的,.用socket可以创建tcp连接,也可以创建udp连接,这意味着,用socket可以创建任何协议的连接,因为其它协议都是基于此的。

URL:

URL(Uniform Resource Locator) 地址用于描述一个网络上的资源,

URL 的一个例子

http://www.mywebsite.com/sj/test/test.aspx?name=sviergn&x=true#stuff

Get和Post

      Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.

GET和POST的区别

1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.  POST方法是把提交的数据放在HTTP包的Body中.

2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

3. GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。

4. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,898评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,401评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,058评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,539评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,382评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,319评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,706评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,370评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,664评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,715评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,476评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,326评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,730评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,003评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,275评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,683评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,877评论 2 335

推荐阅读更多精彩内容

  • 参考:http://www.2cto.com/net/201611/569006.html TCP HTTP UD...
    F麦子阅读 2,935评论 0 14
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,042评论 0 8
  • 计算机网络整个体系有两个大的分类:一个是国际组织制定的OSI七层模型,一种是实际使用中的TCP/IP四层模型。 一...
    然小七阅读 933评论 0 5
  • 我亲爱的姑娘: 我想只要你一点点时间就好,再给我一点点时间就好。 真的只要一点点。 再让我们相互依偎一会吧。 我们...
    餘生安阅读 383评论 0 0
  • 我现在有一个疑问!战狼2现在火映!导致战狼1也开始被别人翻出来重新看一遍,因为这样才能继续看,剧情才能被理解,但是...
    andot阅读 561评论 0 0