# Twitch negotiation protocols

**URL:** <https://discuss.dev.twitch.com/t/twitch-negotiation-protocols/10251>\
**Category:** API\
**Created:** [May 7, 2017, 7:14pm UTC](https://discuss.dev.twitch.com/t/twitch-negotiation-protocols/10251 "2017-05-07T19:14:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Galack](https://avatars.discourse-cdn.com/v4/letter/g/2acd7d/32.png) [@Galack](https://discuss.dev.twitch.com/u/Galack)\
**Post date:** [May 7, 2017, 7:14pm UTC](https://discuss.dev.twitch.com/t/twitch-negotiation-protocols/10251/1 "2017-05-07T19:14:20Z")

</div>

Hello,

I’m currently studying twitch protocols for a college research (Final career project), I use “Wireshark” to analize twitch packet data.

When I connect to a twitch streaming I can see there is negotiation ( TLSv1.2, handshake protocol…) with more or less nine different twitch server IPs. Why is this happening?  
I guess me as user negotiate the stream conditions with differents twitch servers for provide me the best server according to my location and stream quality but i’m not sure, can you help me? 🙂

I’m sorry, I know my english is not really good, best regards.

---

<div class="post-metadata">

**Author:** ![jctrvlr](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/jctrvlr/32/2729_2.png) [@jctrvlr](https://discuss.dev.twitch.com/u/jctrvlr)\
**Post date:** [May 7, 2017, 9:40pm UTC](https://discuss.dev.twitch.com/t/twitch-negotiation-protocols/10251/2 "2017-05-07T21:40:51Z")

</div>

I can’t say for sure as I haven’t looked into it, and i’m not entirely sure what your question is, but it might be that when you load a twitch stream, you are contacting many different API servers which provide the data/stats like current views, followers, chatroom (IRC server), video stream… etc. Sorry that I can’t be more help but that is my guess!

Feel free to say that I am wrong (I probably am haha).

---

<div class="post-metadata">

**Author:** ![Galack](https://avatars.discourse-cdn.com/v4/letter/g/2acd7d/32.png) [@Galack](https://discuss.dev.twitch.com/u/Galack)\
**Post date:** [May 15, 2017, 10:27pm UTC](https://discuss.dev.twitch.com/t/twitch-negotiation-protocols/10251/3 "2017-05-15T22:27:03Z")

</div>

My question is: Why does the user connect with different IP’s with the TLSv1.2 protocol (Negotiation) when I open a stream?

Well, i’m not sure about your answer, I think acording to my location and quality request twitch “links” me with a server.

Thank you! And sorry again for my poor english 🙂

---

<div class="post-metadata">

**Author:** ![3ventic](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/3ventic/32/298_2.png) [@3ventic](https://discuss.dev.twitch.com/u/3ventic)\
**Post date:** [May 15, 2017, 10:52pm UTC](https://discuss.dev.twitch.com/t/twitch-negotiation-protocols/10251/4 "2017-05-15T22:52:10Z")

</div>

What you’re seeing is a load distribution and fault-tolerance method called round robin DNS.

> **[Round-robin DNS](https://en.wikipedia.org/wiki/Round-robin_DNS)**
>
> Round Robin DNS
> is a technique of load distribution, load balancing, or fault-tolerance provisioning multiple, redundant Internet Protocol service hosts, e.g., Web server, FTP servers, by managing the Domain Name System's (DNS) responses to address requests from client computers according to an appropriate statistical model.
> In its simplest implementation, Round-robin DNS works by responding to DNS requests not only with a single potential IP address, but with one out of a list of potential IP ...

---

<div class="post-metadata">

**Author:** ![Galack](https://avatars.discourse-cdn.com/v4/letter/g/2acd7d/32.png) [@Galack](https://discuss.dev.twitch.com/u/Galack)\
**Post date:** [May 16, 2017, 9:57am UTC](https://discuss.dev.twitch.com/t/twitch-negotiation-protocols/10251/5 "2017-05-16T09:57:58Z")

</div>

Thank you so much! 😃

---

<div class="post-metadata">

**Author:** ![system](https://d2opxh93rbxzdn.cloudfront.net/original/2X/0/05909729875cce3b53e59d5561c4d23bb14948fc.png) [@system](https://discuss.dev.twitch.com/u/system)\
**Post date:** [June 15, 2017, 9:58am UTC](https://discuss.dev.twitch.com/t/twitch-negotiation-protocols/10251/6 "2017-06-15T09:58:02Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
