写在前面的废话:马上要找工作了,做了一年的.net ,到要找工作了发现没几个大公司招聘.net工程师,真是坑爹呀.哎,java就java吧,咱从头开始学呗,啥也不说了,玩命撸吧,我真可怜啊. 摘要: 本片记载刚刚学习的网络编程的内容,网络编程也称 Socket 编程 .套接字编程. 什么是Socket? 用于描述ip地址和端口,是一个通信链的Handle.在Internet上的主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的…
一.TCP和UDP协议之间的区别 TCP是基于连接的,而UDP是基于非连接的. TCP传输数据稳定可靠,适用于对网络通讯质量要求较高的场景,需要准确无误的传输给对方,比如,传输文件,发送邮件,浏览网页等等. UDP的优点是速度快,但是可能产生丢包,所以适用于对实时性要求较高但是对少量丢包并没有太大要求的场景.比如:域名查询,语音通话,视屏直播等. UDP还有一个非常重要的引用场景就是隧道网络,比如:vpn,VXLAN. 网上看了很多资料,在CSDN上看到一位博主画的一张图感觉简单易懂. 以人与人…
HTTP协议 老王喜欢看岛国小片,时常泡在论坛上和网友交流最新资讯,老王是通过浏览器浏览网页的,而浏览器是借助HTTP协议与论坛服务器沟通交流. FTP协议 老王购买了该网站的会员,可以无限制下载高清小片,老王是通过浏览器下载影音文件的,浏览器是借助FTP协议与文件下载服务器沟通交流. SMTP协议 近10个G的高清文件,老王心潮澎湃打开文件,傻了,"孙悟空大战白骨精"映入眼帘...老王怒了,打开电子邮件客户端写投诉邮件,怒斥不良网站的欺诈行为!电子邮件客户端是借助SMTP协议与邮件服…
作为一个与网络密切相关的Web前端工程师,TCP/IP和OSI模型不可不知,至少要知道一下这些常识性知识,在这我做一下记录 TCP/IP协议簇: TCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇.其中比较重要的有SLIP协议.PPP协议.IP协议.ICMP协议.ARP协议.TCP协议.UDP协议.FTP协议.DNS协议.SMTP协议等. 可以看到大部分协议都处于应用层,包括我们最常见的FTP.HTTP和DNS等,传输层就有TCP和UDP,网络层(网际层)有IP.ARP.…
TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合. 传统上来说 TCP/IP 被认为是一个四层协议:应用层(telnet, ftp, http, smtp, dns等),传输层(tcp, udp),网络层(ip,icmp,arp,rarp),网络接口层(各种物理通信网络接口) 三次握手 四次挥手 网络接口层: 主要是指物理层次的一些接口,比如电缆等. 网络层: 提供独立于硬件的逻辑寻址,实现物理地址与逻辑地址的转换. 在 TCP / IP 协议族中,网络层协议包括 IP 协议(网际协…
1.传输层基于tcp协议的三次握手和四次挥手? 传输层有两种数据传输协议,分别为TCP协议和UDP协议,其中TCP协议为可靠传输,数据包没有长度设置,理论可以无限长,而UDP协议为不可靠传输,报头一共就8个字节. Tcp的三次握手和四次挥手定义为:建立连接时三次握手完成建立连接,然后传输数据,断开连接时是四次挥手.所以tcp传输数据是安全的. 2. 为什么连接的时候是三次握手,关闭的时候却是四次挥手? 因为当server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文.…
网络编程中最重要的概念就是连接取向(connection-oriented)和无连接(connectionless)协议.虽然本质.两者之间的区别是不难理解,编程的人来说,却是个非常easy混淆的问题. 这个问题与上下文有些关联:非常显然.假设两台计算机要进行通信,就必须以某种形式"连接"起来.那"无连接通信"又是什么意思呢? 答案是:面向连接和无连接指的都是协议. 也就是说,这些术语指的并非物理介质本身.而是用来说明怎样在物理介质上数据传输的.面向连接和无连接协议…
1.面向连接和无连接指的是协议,本质区别在于:对于无连接协议来说,每个分组的处理都独立于其他的分组. 而对于面向连接的协议,协议实现维护了当前分组与后继分组有关的状态信息. 2.无连接就是指udp,分组称为数据报(datagram),每个分组都独立寻址,udp会尽最大努力发送数据报, 但是不保证数据报不丢失,不延迟,不错序. 注意:对于udp,可以在应用层维护数据报的状态. 3.面向连接就是tcp,tcp的分组称为段(segment),协议维护了分组之间的状态,记住这些状态,协议可以提供可靠的传…
TCP和IP在HTTP协议的上层,HTTP算是应用层,IP协议建立的是电脑跟电脑之间的联系,具体过程是,物理上,通过网线,解析MAC地址,到达路由,路由告诉数据将要去哪里,对方电脑通过NDS解析,解析ip 地址,TCP要求要比ip的要求要高,TCP要求要确保数据传输到对号,且TCP传输的时候是要知道端口号的,己方端口和对方端口都要知道,就相当于是进程与进程之间的联系,应用程序在内存中的表现就是进程,一个进程有着一个端口号,TCP协议比较麻烦,他要求确保数据传输过去,我发送一个数据过去,对方要发过…
总结,TCP/IP是传输层协议,主要解决数据如何在网路中传输,socket是TCP/IP协议的具体实现,是对TCP/IP协议的封装和应用,属于程序员层面,HTTP是应用层协议,应用层协议很多,类似的像HTTP.FTP.Telnet. 传输层协议和应用层协议的区别和分工可以用下面的一段话做总结: “我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP.FTP.T…