网络编程笔记1

1 网络通信技术
计算机网络将多个具有独立工作能力的计算机系统通过
通信设备和线路由功能完善的网络软件实现资源共享和数据
通信的系统。
1.1 网络的分类
用于计算机网络分类的标准很多,如拓扑结构,应用协议
等。但是这些标准只能反映网络某方面的特征,最能反映网络
技术本质特征的分类标准是分布距离,按分布距离分为LAN,
MAN,WAN,INTERNET。
1.2 网络通信协议
网络通信协议是通信双方在通信时遵循的规则和约定,是
信息网络中使用的通信语言。它有3 个要素:语法,即信息格
式;语义,某些信息组合的含义;同步,即收、发双方能分辨出通
信的开始和结束。在计算机网络中用协议数据单元PDU 描述
通信协议,PDU 由控制部分和数据部分组成,控制部分由若干
字段组成,表示通信中用到的协议。当今局域网中最常见的三
个协议是MICROSOFT 的NETBEUI、NOVELL 的IPX/SPX 和交
叉平台TCP/IP。
1.3 网络通信的同步与异步
同步就是发送和接受数据的双方保持步调一致,发送数据
方发送数据后,必须等到接受数据方发回了接受到了数据的信
息后,才能做下面的事情。而作为接收数据方,在决定接收后,
必须接收到数据后才能做下面的事情,它需要不断地轮询接收
缓冲区有没有数据,又称为阻塞方式。异步则是在发送和接收
数据时还可以做其它的事情,又称为非阻塞方式。
2 Socket 基本原理
在Windows 网络编程中, 套接字接口主要有3 种类型:流
式套接字,数据报套接字以及原始套接字、流式套接字定义了
一种面向连接的服务(TCP), 实现了无差错无重复的顺序数据传输,
无长度限制。数据报套接字接口定义了一种无连接的服务,数
据通过相互独立的报文进行传输,是无序的,并且不保证可靠(UDP)。
原始套接字允许对低层协议IP 或ICMP 直接访问, 主要应用
网络协议的测试。在现在的网络应用中,通信双方最常见的交
互模式便是Client/Server 模式。客户/服务器模式通常采用监
听/连接的方式实现。服务器端应用程序在一个端口监听对服
务的请求,也就是说,服务进程一直处于休眠状态,直到有一个
客户对这个服务提出了连接请求,此时服务线程被“唤醒”并为
客户提供服务,即对客户的请求做出适当的反应。采用面向连
接的协议(如TCP)时,服务器处理的请求比较复杂,并不是简
单的请求应答所能解决的, 而且大多数TCP 服务器是并发服
务器,因此需要经过反复的交互。。
3 TCP/UDP介绍
一、概述
  TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。
  TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(STream socket)的一种。
  UDP:用户数据报协议。UDP是一种无连接协议。UDP套接口是数据报套接口(datagram Socket)的一种。
 
  说明:(三路握手)
  1.客户端发送一个SYN段(同步序号)指明客户打算连接的服务器端口,以及初始化序号(ISN) 。
  2.服务器发回包含服务器的初始序号的SYN报文段作为应答。同时,将确认序号(ACK)设置为客户的ISN加1以对客户的SYN 报文段进行确认。一个SYN将占用一个序号。
  3.客户必须将确认序号设置为服务器的ISN加1以对服务器的SYN报文段进行确认。
   UDP和TCP的对比:
  从上面的流程图比较我们可以很明显的看出UDP没有三次握手过程。
  简单点说。UDP处理的细节比TCP少。UDP不能保证消息被传送到(它也报告消息没有传送到)目的地。UDP也不保证数据包的传送顺序。UDP把数据发出去后只能希望它能够抵达目的地。
  TCP优缺点:
  优点:
  1.TCP提供以认可的方式显式地创建和终止连接。
  2.TCP保证可靠的、顺序的(数据包以发送的顺序接收)以及不会重复的数据传输。
  3.TCP处理流控制。
  4.允许数据优先
  5.如果数据没有传送到,则TCP套接口返回一个出错状态条件。
  6.TCP通过保持连续并将数据块分成更小的分片来处理大数据块。—无需程序员知道
  缺点: TCP在转移数据时必须创建(并保持)一个连接。这个连接给通信进程增加了开销,让它比UDP速度要慢。
  UDP优缺点:
  1.UDP不要求保持一个连接
  2.UDP没有因接收方认可收到数据包(或者当数据包没有正确抵达而自动重传)而带来的开销。
  3.设计UDP的目的是用于短应用和控制消息

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值